From f15288f32adeef002a76bcbc64e32c6bb66b50fc Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 18:13:32 +0700 Subject: [PATCH 1/6] feat(drive-abci): query a contract's fee pots getContractFeePots returns what the owner pot and the moderators pot of a data contract hold and the epoch each was last paid out in, with a proof on request. Co-Authored-By: Claude Fable 5.1 --- packages/dapi-grpc/build.rs | 6 +- .../protos/platform/v0/platform.proto | 34 ++ .../contract_fee_pots/mod.rs | 78 +++++ .../contract_fee_pots/v0/mod.rs | 292 ++++++++++++++++++ .../query/contract_moderation_queries/mod.rs | 6 +- packages/rs-drive-abci/src/query/service.rs | 17 +- .../drive_abci_query_versions/mod.rs | 6 +- .../drive_abci_query_versions/v0.rs | 5 + .../drive_abci_query_versions/v1.rs | 5 + .../src/version/mocks/v2_test.rs | 5 + 10 files changed, 446 insertions(+), 8 deletions(-) create mode 100644 packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/mod.rs create mode 100644 packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs diff --git a/packages/dapi-grpc/build.rs b/packages/dapi-grpc/build.rs index c6a2a87821a..5f699400ed5 100644 --- a/packages/dapi-grpc/build.rs +++ b/packages/dapi-grpc/build.rs @@ -86,9 +86,10 @@ fn configure_platform(mut platform: MappingConfig) -> MappingConfig { // Derive features for versioned messages // // "GetConsensusParamsRequest" is excluded as this message does not support proofs - const VERSIONED_REQUESTS: [&str; 64] = [ + const VERSIONED_REQUESTS: [&str; 65] = [ "GetContractModerationStatusRequest", "GetContractModerationEntriesRequest", + "GetContractFeePotsRequest", "GetContractGroupInfoRequest", "GetContractGroupMembersRequest", "GetContractGroupsForContractRequest", @@ -165,9 +166,10 @@ fn configure_platform(mut platform: MappingConfig) -> MappingConfig { // - "GetIdentityByNonUniquePublicKeyHashResponse" // // "GetEvonodesProposedEpochBlocksResponse" is used for 2 Requests - const VERSIONED_RESPONSES: [&str; 61] = [ + const VERSIONED_RESPONSES: [&str; 62] = [ "GetContractModerationStatusResponse", "GetContractModerationEntriesResponse", + "GetContractFeePotsResponse", "GetContractGroupInfoResponse", "GetContractGroupMembersResponse", "GetContractGroupsForContractResponse", diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index b0da5aad0c7..a58f644fb67 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -51,6 +51,8 @@ service Platform { returns (GetContractModerationStatusResponse); rpc getContractModerationEntries(GetContractModerationEntriesRequest) returns (GetContractModerationEntriesResponse); + rpc getContractFeePots(GetContractFeePotsRequest) + returns (GetContractFeePotsResponse); rpc getDocumentHistory(GetDocumentHistoryRequest) returns (GetDocumentHistoryResponse); rpc getDocuments(GetDocumentsRequest) returns (GetDocumentsResponse); @@ -795,6 +797,38 @@ message GetContractModerationEntriesResponse { oneof version { GetContractModerationEntriesResponseV0 v0 = 1; } } +message GetContractFeePotsRequest { + message GetContractFeePotsRequestV0 { + bytes contract_id = 1; // The 32-byte id of the data contract + bool prove = 2; // Flag to request a proof as the response + } + oneof version { GetContractFeePotsRequestV0 v0 = 1; } +} + +message GetContractFeePotsResponse { + // One of the two pots a contract's document action fees collect in + message ContractFeePot { + uint64 credits = 1 [ jstype = JS_STRING ]; // What the pot holds + optional uint32 last_claim_epoch = + 2; // The epoch the pot was last paid out in, unset when it never was; + // a pot is paid out at most once per epoch + } + + message ContractFeePots { + ContractFeePot owner = 1; // The pot the contract owner claims + ContractFeePot moderators = 2; // The pot the moderation team shares + } + + message GetContractFeePotsResponseV0 { + oneof result { + ContractFeePots pots = 1; // Both pots of the contract + Proof proof = 2; // Cryptographic proof of the pots, if requested + } + ResponseMetadata metadata = 3; // Metadata about the blockchain state + } + oneof version { GetContractFeePotsResponseV0 v0 = 1; } +} + message GetContractGroupsForContractRequest { message GetContractGroupsForContractRequestV0 { bytes contract_id = 1; // The 32-byte id of the contract diff --git a/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/mod.rs b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/mod.rs new file mode 100644 index 00000000000..2eea18a9cec --- /dev/null +++ b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/mod.rs @@ -0,0 +1,78 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_contract_fee_pots_request::Version as RequestVersion; +use dapi_grpc::platform::v0::get_contract_fee_pots_response::Version as ResponseVersion; +use dapi_grpc::platform::v0::{GetContractFeePotsRequest, GetContractFeePotsResponse}; +use dpp::version::PlatformVersion; + +mod v0; + +impl Platform { + /// Querying of the two fee pots of a contract: what each holds and the epoch it was last + /// paid out in. + pub fn query_contract_fee_pots( + &self, + GetContractFeePotsRequest { version }: GetContractFeePotsRequest, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let Some(version) = version else { + return Ok(QueryValidationResult::new_with_error( + QueryError::DecodingError("could not decode contract fee pots query".to_string()), + )); + }; + + let feature_version_bounds = &platform_version + .drive_abci + .query + .contract_moderation_queries + .contract_fee_pots; + + let feature_version = match &version { + RequestVersion::V0(_) => 0, + }; + if !feature_version_bounds.check_version(feature_version) { + return Ok(QueryValidationResult::new_with_error( + QueryError::UnsupportedQueryVersion( + "contract_fee_pots".to_string(), + feature_version_bounds.min_version, + feature_version_bounds.max_version, + platform_version.protocol_version, + feature_version, + ), + )); + } + match version { + RequestVersion::V0(request_v0) => { + let result = + self.query_contract_fee_pots_v0(request_v0, platform_state, platform_version)?; + + Ok(result.map(|response_v0| GetContractFeePotsResponse { + version: Some(ResponseVersion::V0(response_v0)), + })) + } + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::query::tests::setup_platform; + use dpp::dashcore::Network; + + #[test] + fn should_refuse_a_request_without_a_version() { + let (platform, state, version) = setup_platform(None, Network::Testnet, None); + let result = platform + .query_contract_fee_pots(GetContractFeePotsRequest { version: None }, &state, version) + .expect("expected query to succeed"); + assert!(matches!( + result.errors.as_slice(), + [QueryError::DecodingError(_)] + )); + } +} diff --git a/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs new file mode 100644 index 00000000000..3ac67e768d5 --- /dev/null +++ b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs @@ -0,0 +1,292 @@ +use crate::error::query::QueryError; +use crate::error::Error; +use crate::platform_types::platform::Platform; +use crate::platform_types::platform_state::PlatformState; +use crate::query::contract_moderation_queries::identifier_from_request; +use crate::query::response_metadata::CheckpointUsed; +use crate::query::QueryValidationResult; +use dapi_grpc::platform::v0::get_contract_fee_pots_request::GetContractFeePotsRequestV0; +use dapi_grpc::platform::v0::get_contract_fee_pots_response::{ + get_contract_fee_pots_response_v0, ContractFeePot as ContractFeePotProto, + ContractFeePots as ContractFeePotsProto, GetContractFeePotsResponseV0, +}; +use dpp::check_validation_result_with_data; +use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::validation::ValidationResult; +use dpp::version::PlatformVersion; +use drive::drive::contract::fee_pots::types::ContractFeePotState; +use drive::util::grove_operations::GroveDBToUse; + +/// Both pots, in the order every reader of the proof names them +const BOTH_POTS: [ContractFeePot; 2] = [ContractFeePot::Owner, ContractFeePot::Moderators]; + +impl Platform { + /// Returns the two fee pots of a contract: what each holds and the epoch it was last paid + /// out in. A pot that never received a fee holds nothing, and one that was never paid out + /// has no epoch. The proved form proves both pots and both epochs, present or absent. + /// + /// The contract has to exist: its last claim epochs live under it, and a proof of them + /// under a contract that is not there would prove nothing a client can use. + pub(super) fn query_contract_fee_pots_v0( + &self, + GetContractFeePotsRequestV0 { contract_id, prove }: GetContractFeePotsRequestV0, + platform_state: &PlatformState, + platform_version: &PlatformVersion, + ) -> Result, Error> { + let contract_id = + check_validation_result_with_data!(identifier_from_request(contract_id, "contract_id")); + + if self + .drive + .get_contract_with_fetch_info(contract_id.to_buffer(), false, None, platform_version)? + .is_none() + { + return Ok(QueryValidationResult::new_with_error(QueryError::NotFound( + format!("contract {} not found", contract_id), + ))); + } + + let response = if prove { + let proof = check_validation_result_with_data!(self.drive.prove_contract_fee_pots( + contract_id, + &BOTH_POTS, + None, + platform_version + )); + + GetContractFeePotsResponseV0 { + result: Some(get_contract_fee_pots_response_v0::Result::Proof( + self.response_proof_v0(platform_state, proof, GroveDBToUse::Current) + .map(|(_, proof)| proof)?, + )), + metadata: Some(self.response_metadata_v0(platform_state, CheckpointUsed::Current)), + } + } else { + let owner = check_validation_result_with_data!(self.drive.fetch_contract_fee_pot( + contract_id, + ContractFeePot::Owner, + None, + platform_version + )); + let moderators = check_validation_result_with_data!(self.drive.fetch_contract_fee_pot( + contract_id, + ContractFeePot::Moderators, + None, + platform_version + )); + + GetContractFeePotsResponseV0 { + result: Some(get_contract_fee_pots_response_v0::Result::Pots( + ContractFeePotsProto { + owner: Some(pot_to_response(owner)), + moderators: Some(pot_to_response(moderators)), + }, + )), + metadata: Some(self.response_metadata_v0(platform_state, CheckpointUsed::Current)), + } + }; + + Ok(QueryValidationResult::new_with_data(response)) + } +} + +fn pot_to_response(pot: ContractFeePotState) -> ContractFeePotProto { + ContractFeePotProto { + credits: pot.credits, + last_claim_epoch: pot.last_claim_epoch.map(u32::from), + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::query::contract_moderation_queries::tests::store_contract; + use crate::query::tests::setup_platform; + use crate::rpc::core::MockCoreRPCLike; + use crate::test::helpers::setup::TempPlatform; + use dpp::block::block_info::BlockInfo; + use dpp::dashcore::Network; + use dpp::data_contract::accessors::v0::DataContractV0Getters; + use dpp::identifier::Identifier; + use drive::drive::contract::fee_pots::types::ContractFeePots; + use drive::drive::Drive; + use drive::util::batch::drive_op_batch::ContractFeePotOperationType; + use drive::util::batch::DriveOperation; + + fn request(contract_id: Vec, prove: bool) -> GetContractFeePotsRequestV0 { + GetContractFeePotsRequestV0 { contract_id, prove } + } + + fn apply( + platform: &TempPlatform, + operations: Vec, + platform_version: &PlatformVersion, + ) { + platform + .drive + .apply_drive_operations( + operations + .into_iter() + .map(DriveOperation::ContractFeePotOperation) + .collect(), + true, + &BlockInfo::default(), + None, + platform_version, + None, + ) + .expect("expected to write the fee pots"); + } + + fn pots_of( + result: QueryValidationResult, + ) -> ContractFeePotsProto { + assert!(result.errors.is_empty(), "{:?}", result.errors); + match result.data.expect("expected a response").result { + Some(get_contract_fee_pots_response_v0::Result::Pots(pots)) => pots, + other => panic!("expected the pots, got {other:?}"), + } + } + + #[test] + fn should_refuse_a_malformed_contract_id_and_an_unknown_contract() { + let (platform, state, version) = setup_platform(None, Network::Testnet, None); + + let result = platform + .query_contract_fee_pots_v0(request(vec![0; 8], false), &state, version) + .expect("expected query to succeed"); + assert!( + matches!( + result.errors.as_slice(), + [QueryError::InvalidArgument(message)] if message.contains("contract_id") + ), + "{:?}", + result.errors + ); + + for prove in [false, true] { + let result = platform + .query_contract_fee_pots_v0(request(vec![9; 32], prove), &state, version) + .expect("expected query to succeed"); + assert!( + matches!(result.errors.as_slice(), [QueryError::NotFound(_)]), + "{:?}", + result.errors + ); + } + } + + #[test] + fn should_return_empty_pots_that_were_never_claimed_before_the_first_fee() { + let (platform, state, version) = setup_platform(None, Network::Testnet, None); + // Any contract has pots, moderated or not: the owner pot needs no moderation. + let contract = store_contract(&platform, false, false, version); + + let pots = pots_of( + platform + .query_contract_fee_pots_v0(request(contract.id().to_vec(), false), &state, version) + .expect("expected query to succeed"), + ); + + let empty = ContractFeePotProto { + credits: 0, + last_claim_epoch: None, + }; + assert_eq!(pots.owner, Some(empty.clone())); + assert_eq!(pots.moderators, Some(empty)); + } + + #[test] + fn should_return_each_pot_with_the_epoch_it_was_last_claimed_in() { + let (platform, state, version) = setup_platform(None, Network::Testnet, None); + let contract = store_contract(&platform, true, false, version); + apply( + &platform, + vec![ + ContractFeePotOperationType::AddToPot { + contract_id: contract.id(), + pot: ContractFeePot::Owner, + amount: 700, + }, + ContractFeePotOperationType::AddToPot { + contract_id: contract.id(), + pot: ContractFeePot::Moderators, + amount: 300, + }, + // Epoch 0 is an epoch like any other: it must not read as "never claimed". + ContractFeePotOperationType::SetLastClaimEpoch { + contract_id: contract.id(), + pot: ContractFeePot::Moderators, + epoch_index: 0, + }, + ], + version, + ); + + let pots = pots_of( + platform + .query_contract_fee_pots_v0(request(contract.id().to_vec(), false), &state, version) + .expect("expected query to succeed"), + ); + + assert_eq!( + pots.owner, + Some(ContractFeePotProto { + credits: 700, + last_claim_epoch: None, + }) + ); + assert_eq!( + pots.moderators, + Some(ContractFeePotProto { + credits: 300, + last_claim_epoch: Some(0), + }) + ); + } + + #[test] + fn should_prove_what_the_unproved_form_returns() { + let (platform, state, version) = setup_platform(None, Network::Testnet, None); + let contract = store_contract(&platform, true, false, version); + apply( + &platform, + vec![ + ContractFeePotOperationType::AddToPot { + contract_id: contract.id(), + pot: ContractFeePot::Owner, + amount: 42, + }, + ContractFeePotOperationType::SetLastClaimEpoch { + contract_id: contract.id(), + pot: ContractFeePot::Owner, + epoch_index: 6, + }, + ], + version, + ); + + let result = platform + .query_contract_fee_pots_v0(request(contract.id().to_vec(), true), &state, version) + .expect("expected query to succeed"); + assert!(result.errors.is_empty(), "{:?}", result.errors); + let Some(get_contract_fee_pots_response_v0::Result::Proof(proof)) = + result.data.expect("expected a response").result + else { + panic!("expected a proof"); + }; + + let (_, proved): (_, ContractFeePots) = Drive::verify_contract_fee_pots( + &proof.grovedb_proof, + Identifier::from(contract.id()), + &BOTH_POTS, + false, + version, + ) + .expect("expected the proof to verify"); + assert_eq!(proved.owner.credits, 42); + assert_eq!(proved.owner.last_claim_epoch, Some(6)); + assert_eq!(proved.moderators.credits, 0); + assert_eq!(proved.moderators.last_claim_epoch, None); + } +} diff --git a/packages/rs-drive-abci/src/query/contract_moderation_queries/mod.rs b/packages/rs-drive-abci/src/query/contract_moderation_queries/mod.rs index 9327e9dd011..f0ffd5c9693 100644 --- a/packages/rs-drive-abci/src/query/contract_moderation_queries/mod.rs +++ b/packages/rs-drive-abci/src/query/contract_moderation_queries/mod.rs @@ -1,6 +1,8 @@ -//! Contract moderation queries: one identity's status on a moderated contract, and one page of -//! a contract's banlist or suspension list. +//! Contract moderation queries: one identity's status on a moderated contract, one page of a +//! contract's banlist or suspension list, and the fee pots a contract's document action fees +//! collect in. +mod contract_fee_pots; mod contract_moderation_entries; mod contract_moderation_status; diff --git a/packages/rs-drive-abci/src/query/service.rs b/packages/rs-drive-abci/src/query/service.rs index bafd6cc802d..85bbe347f79 100644 --- a/packages/rs-drive-abci/src/query/service.rs +++ b/packages/rs-drive-abci/src/query/service.rs @@ -20,8 +20,9 @@ use dapi_grpc::platform::v0::{ GetContestedResourceIdentityVotesRequest, GetContestedResourceIdentityVotesResponse, GetContestedResourceVoteStateRequest, GetContestedResourceVoteStateResponse, GetContestedResourceVotersForIdentityRequest, GetContestedResourceVotersForIdentityResponse, - GetContestedResourcesRequest, GetContestedResourcesResponse, GetContractGroupInfoRequest, - GetContractGroupInfoResponse, GetContractGroupMembersRequest, GetContractGroupMembersResponse, + GetContestedResourcesRequest, GetContestedResourcesResponse, GetContractFeePotsRequest, + GetContractFeePotsResponse, GetContractGroupInfoRequest, GetContractGroupInfoResponse, + GetContractGroupMembersRequest, GetContractGroupMembersResponse, GetContractGroupsForContractRequest, GetContractGroupsForContractResponse, GetContractModerationEntriesRequest, GetContractModerationEntriesResponse, GetContractModerationStatusRequest, GetContractModerationStatusResponse, @@ -471,6 +472,18 @@ impl PlatformService for QueryService { .await } + async fn get_contract_fee_pots( + &self, + request: Request, + ) -> Result, Status> { + self.handle_blocking_query( + request, + Platform::::query_contract_fee_pots, + "get_contract_fee_pots", + ) + .await + } + async fn get_contract_group_members( &self, request: Request, diff --git a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/mod.rs b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/mod.rs index abb1cd9375e..a2177f2d92f 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/mod.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/mod.rs @@ -90,12 +90,14 @@ pub struct DriveAbciQueryGroupVersions { pub group_action_signers: FeatureVersionBounds, } -/// The contract moderation queries: one identity's status on a moderated contract, and one page -/// of a contract's banlist or suspension list. +/// The contract moderation queries: one identity's status on a moderated contract, one page of a +/// contract's banlist or suspension list, and the contract's fee pots. #[derive(Clone, Debug, Default)] pub struct DriveAbciQueryContractModerationVersions { pub contract_moderation_status: FeatureVersionBounds, pub contract_moderation_entries: FeatureVersionBounds, + /// The two fee pots a contract's document action fees collect in + pub contract_fee_pots: FeatureVersionBounds, } /// The contract group queries: a group's stored information, one page of its members of one diff --git a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v0.rs b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v0.rs index abbb5735169..244ce4d9e2f 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v0.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v0.rs @@ -309,6 +309,11 @@ pub const DRIVE_ABCI_QUERY_VERSIONS_V0: DriveAbciQueryVersions = DriveAbciQueryV max_version: 0, default_current_version: 0, }, + contract_fee_pots: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, shielded_queries: DriveAbciQueryShieldedVersions { encrypted_notes: FeatureVersionBounds { diff --git a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v1.rs b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v1.rs index 60b100b1128..620f434b6f6 100644 --- a/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v1.rs +++ b/packages/rs-platform-version/src/version/drive_abci_versions/drive_abci_query_versions/v1.rs @@ -311,6 +311,11 @@ pub const DRIVE_ABCI_QUERY_VERSIONS_V1: DriveAbciQueryVersions = DriveAbciQueryV max_version: 0, default_current_version: 0, }, + contract_fee_pots: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, shielded_queries: DriveAbciQueryShieldedVersions { encrypted_notes: FeatureVersionBounds { diff --git a/packages/rs-platform-version/src/version/mocks/v2_test.rs b/packages/rs-platform-version/src/version/mocks/v2_test.rs index 165994bd868..827175473f4 100644 --- a/packages/rs-platform-version/src/version/mocks/v2_test.rs +++ b/packages/rs-platform-version/src/version/mocks/v2_test.rs @@ -466,6 +466,11 @@ pub const TEST_PLATFORM_V2: PlatformVersion = PlatformVersion { max_version: 0, default_current_version: 0, }, + contract_fee_pots: FeatureVersionBounds { + min_version: 0, + max_version: 0, + default_current_version: 0, + }, }, shielded_queries: DriveAbciQueryShieldedVersions { encrypted_notes: FeatureVersionBounds { From 63d7a6070dd3735b2da1c8742c8d0d6efc3222de Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 18:38:50 +0700 Subject: [PATCH 2/6] chore(dapi-grpc): regenerate the clients for getContractFeePots Co-Authored-By: Claude Fable 5.1 --- .../clients/drive/v0/nodejs/drive_pbjs.js | 1391 ++++++++++++ .../dash/platform/dapi/v0/PlatformGrpc.java | 166 +- .../platform/v0/nodejs/platform_pbjs.js | 1391 ++++++++++++ .../platform/v0/nodejs/platform_protoc.js | 1330 ++++++++++++ .../platform/v0/objective-c/Platform.pbobjc.h | 147 ++ .../platform/v0/objective-c/Platform.pbobjc.m | 370 ++++ .../platform/v0/objective-c/Platform.pbrpc.h | 13 + .../platform/v0/objective-c/Platform.pbrpc.m | 20 + .../platform/v0/python/platform_pb2.py | 1886 ++++++++++------- .../platform/v0/python/platform_pb2_grpc.py | 33 + .../clients/platform/v0/web/platform_pb.d.ts | 177 ++ .../clients/platform/v0/web/platform_pb.js | 1330 ++++++++++++ .../platform/v0/web/platform_pb_service.d.ts | 19 + .../platform/v0/web/platform_pb_service.js | 40 + 14 files changed, 7488 insertions(+), 825 deletions(-) diff --git a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js index aaccf69d92e..5d7f75ba63e 100644 --- a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js +++ b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js @@ -1320,6 +1320,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getContractFeePots}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getContractFeePotsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse} [response] GetContractFeePotsResponse + */ + + /** + * Calls getContractFeePots. + * @function getContractFeePots + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} request GetContractFeePotsRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getContractFeePotsCallback} callback Node-style callback called with the error, if any, and GetContractFeePotsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getContractFeePots = function getContractFeePots(request, callback) { + return this.rpcCall(getContractFeePots, $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest, $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse, request, callback); + }, "name", { value: "getContractFeePots" }); + + /** + * Calls getContractFeePots. + * @function getContractFeePots + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} request GetContractFeePotsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getDocumentHistory}. * @memberof org.dash.platform.dapi.v0.Platform @@ -27057,6 +27090,1364 @@ $root.org = (function() { return GetContractModerationEntriesResponse; })(); + v0.GetContractFeePotsRequest = (function() { + + /** + * Properties of a GetContractFeePotsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContractFeePotsRequest + * @property {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0|null} [v0] GetContractFeePotsRequest v0 + */ + + /** + * Constructs a new GetContractFeePotsRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContractFeePotsRequest. + * @implements IGetContractFeePotsRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest=} [properties] Properties to set + */ + function GetContractFeePotsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsRequest v0. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + */ + GetContractFeePotsRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + */ + Object.defineProperty(GetContractFeePotsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest instance + */ + GetContractFeePotsRequest.create = function create(properties) { + return new GetContractFeePotsRequest(properties); + }; + + /** + * Encodes the specified GetContractFeePotsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} message GetContractFeePotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} message GetContractFeePotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetContractFeePotsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + */ + GetContractFeePotsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest} message GetContractFeePotsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetContractFeePotsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContractFeePotsRequest.GetContractFeePotsRequestV0 = (function() { + + /** + * Properties of a GetContractFeePotsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @interface IGetContractFeePotsRequestV0 + * @property {Uint8Array|null} [contractId] GetContractFeePotsRequestV0 contractId + * @property {boolean|null} [prove] GetContractFeePotsRequestV0 prove + */ + + /** + * Constructs a new GetContractFeePotsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @classdesc Represents a GetContractFeePotsRequestV0. + * @implements IGetContractFeePotsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0=} [properties] Properties to set + */ + function GetContractFeePotsRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsRequestV0 contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + */ + GetContractFeePotsRequestV0.prototype.contractId = $util.newBuffer([]); + + /** + * GetContractFeePotsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + */ + GetContractFeePotsRequestV0.prototype.prove = false; + + /** + * Creates a new GetContractFeePotsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 instance + */ + GetContractFeePotsRequestV0.create = function create(properties) { + return new GetContractFeePotsRequestV0(properties); + }; + + /** + * Encodes the specified GetContractFeePotsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetContractFeePotsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + */ + GetContractFeePotsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.prove = false; + } + if (message.contractId != null && message.hasOwnProperty("contractId")) + object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetContractFeePotsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetContractFeePotsRequestV0; + })(); + + return GetContractFeePotsRequest; + })(); + + v0.GetContractFeePotsResponse = (function() { + + /** + * Properties of a GetContractFeePotsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContractFeePotsResponse + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0|null} [v0] GetContractFeePotsResponse v0 + */ + + /** + * Constructs a new GetContractFeePotsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContractFeePotsResponse. + * @implements IGetContractFeePotsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse=} [properties] Properties to set + */ + function GetContractFeePotsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsResponse v0. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + */ + GetContractFeePotsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + */ + Object.defineProperty(GetContractFeePotsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse instance + */ + GetContractFeePotsResponse.create = function create(properties) { + return new GetContractFeePotsResponse(properties); + }; + + /** + * Encodes the specified GetContractFeePotsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse} message GetContractFeePotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse} message GetContractFeePotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetContractFeePotsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + */ + GetContractFeePotsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse} message GetContractFeePotsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetContractFeePotsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContractFeePotsResponse.ContractFeePot = (function() { + + /** + * Properties of a ContractFeePot. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePot + * @property {number|Long|null} [credits] ContractFeePot credits + * @property {number|null} [lastClaimEpoch] ContractFeePot lastClaimEpoch + */ + + /** + * Constructs a new ContractFeePot. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePot. + * @implements IContractFeePot + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot=} [properties] Properties to set + */ + function ContractFeePot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePot credits. + * @member {number|Long} credits + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + */ + ContractFeePot.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ContractFeePot lastClaimEpoch. + * @member {number} lastClaimEpoch + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + */ + ContractFeePot.prototype.lastClaimEpoch = 0; + + /** + * Creates a new ContractFeePot instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot instance + */ + ContractFeePot.create = function create(properties) { + return new ContractFeePot(properties); + }; + + /** + * Encodes the specified ContractFeePot message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot} message ContractFeePot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); + if (message.lastClaimEpoch != null && Object.hasOwnProperty.call(message, "lastClaimEpoch")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.lastClaimEpoch); + return writer; + }; + + /** + * Encodes the specified ContractFeePot message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot} message ContractFeePot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePot message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.credits = reader.uint64(); + break; + case 2: + message.lastClaimEpoch = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePot message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.credits != null && message.hasOwnProperty("credits")) + if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) + return "credits: integer|Long expected"; + if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) + if (!$util.isInteger(message.lastClaimEpoch)) + return "lastClaimEpoch: integer expected"; + return null; + }; + + /** + * Creates a ContractFeePot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + */ + ContractFeePot.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot(); + if (object.credits != null) + if ($util.Long) + (message.credits = $util.Long.fromValue(object.credits)).unsigned = true; + else if (typeof object.credits === "string") + message.credits = parseInt(object.credits, 10); + else if (typeof object.credits === "number") + message.credits = object.credits; + else if (typeof object.credits === "object") + message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); + if (object.lastClaimEpoch != null) + message.lastClaimEpoch = object.lastClaimEpoch >>> 0; + return message; + }; + + /** + * Creates a plain object from a ContractFeePot message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} message ContractFeePot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.credits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.credits = options.longs === String ? "0" : 0; + object.lastClaimEpoch = 0; + } + if (message.credits != null && message.hasOwnProperty("credits")) + if (typeof message.credits === "number") + object.credits = options.longs === String ? String(message.credits) : message.credits; + else + object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; + if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) + object.lastClaimEpoch = message.lastClaimEpoch; + return object; + }; + + /** + * Converts this ContractFeePot to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + * @returns {Object.} JSON object + */ + ContractFeePot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePot; + })(); + + GetContractFeePotsResponse.ContractFeePots = (function() { + + /** + * Properties of a ContractFeePots. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePots + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null} [owner] ContractFeePots owner + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null} [moderators] ContractFeePots moderators + */ + + /** + * Constructs a new ContractFeePots. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePots. + * @implements IContractFeePots + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots=} [properties] Properties to set + */ + function ContractFeePots(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePots owner. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null|undefined} owner + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + */ + ContractFeePots.prototype.owner = null; + + /** + * ContractFeePots moderators. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null|undefined} moderators + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + */ + ContractFeePots.prototype.moderators = null; + + /** + * Creates a new ContractFeePots instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots instance + */ + ContractFeePots.create = function create(properties) { + return new ContractFeePots(properties); + }; + + /** + * Encodes the specified ContractFeePots message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots} message ContractFeePots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePots.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.owner != null && Object.hasOwnProperty.call(message, "owner")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.encode(message.owner, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.moderators != null && Object.hasOwnProperty.call(message, "moderators")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.encode(message.moderators, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContractFeePots message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots} message ContractFeePots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePots.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePots message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePots.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.decode(reader, reader.uint32()); + break; + case 2: + message.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePots message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePots.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePots message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePots.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.owner != null && message.hasOwnProperty("owner")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify(message.owner); + if (error) + return "owner." + error; + } + if (message.moderators != null && message.hasOwnProperty("moderators")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify(message.moderators); + if (error) + return "moderators." + error; + } + return null; + }; + + /** + * Creates a ContractFeePots message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + */ + ContractFeePots.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots(); + if (object.owner != null) { + if (typeof object.owner !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.owner: object expected"); + message.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.fromObject(object.owner); + } + if (object.moderators != null) { + if (typeof object.moderators !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.moderators: object expected"); + message.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.fromObject(object.moderators); + } + return message; + }; + + /** + * Creates a plain object from a ContractFeePots message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} message ContractFeePots + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePots.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.owner = null; + object.moderators = null; + } + if (message.owner != null && message.hasOwnProperty("owner")) + object.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(message.owner, options); + if (message.moderators != null && message.hasOwnProperty("moderators")) + object.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(message.moderators, options); + return object; + }; + + /** + * Converts this ContractFeePots to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + * @returns {Object.} JSON object + */ + ContractFeePots.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePots; + })(); + + GetContractFeePotsResponse.GetContractFeePotsResponseV0 = (function() { + + /** + * Properties of a GetContractFeePotsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IGetContractFeePotsResponseV0 + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots|null} [pots] GetContractFeePotsResponseV0 pots + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContractFeePotsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContractFeePotsResponseV0 metadata + */ + + /** + * Constructs a new GetContractFeePotsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a GetContractFeePotsResponseV0. + * @implements IGetContractFeePotsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0=} [properties] Properties to set + */ + function GetContractFeePotsResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsResponseV0 pots. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots|null|undefined} pots + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.pots = null; + + /** + * GetContractFeePotsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.proof = null; + + /** + * GetContractFeePotsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsResponseV0 result. + * @member {"pots"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + Object.defineProperty(GetContractFeePotsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["pots", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 instance + */ + GetContractFeePotsResponseV0.create = function create(properties) { + return new GetContractFeePotsResponseV0(properties); + }; + + /** + * Encodes the specified GetContractFeePotsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pots != null && Object.hasOwnProperty.call(message, "pots")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.encode(message.pots, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.pots != null && message.hasOwnProperty("pots")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify(message.pots); + if (error) + return "pots." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetContractFeePotsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + */ + GetContractFeePotsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0(); + if (object.pots != null) { + if (typeof object.pots !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.pots: object expected"); + message.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.fromObject(object.pots); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.pots != null && message.hasOwnProperty("pots")) { + object.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(message.pots, options); + if (options.oneofs) + object.result = "pots"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetContractFeePotsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetContractFeePotsResponseV0; + })(); + + return GetContractFeePotsResponse; + })(); + v0.GetContractGroupsForContractRequest = (function() { /** diff --git a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java index e05b30807b0..04c2985c561 100644 --- a/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java +++ b/packages/dapi-grpc/clients/platform/v0/java/org/dash/platform/dapi/v0/PlatformGrpc.java @@ -697,6 +697,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetContractModerationEntriesRespons return getGetContractModerationEntriesMethod; } + private static volatile io.grpc.MethodDescriptor getGetContractFeePotsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getContractFeePots", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetContractFeePotsMethod() { + io.grpc.MethodDescriptor getGetContractFeePotsMethod; + if ((getGetContractFeePotsMethod = PlatformGrpc.getGetContractFeePotsMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetContractFeePotsMethod = PlatformGrpc.getGetContractFeePotsMethod) == null) { + PlatformGrpc.getGetContractFeePotsMethod = getGetContractFeePotsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getContractFeePots")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getContractFeePots")) + .build(); + } + } + } + return getGetContractFeePotsMethod; + } + private static volatile io.grpc.MethodDescriptor getGetDocumentHistoryMethod; @@ -2328,6 +2359,13 @@ public void getContractModerationEntries(org.dash.platform.dapi.v0.PlatformOuter io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContractModerationEntriesMethod(), responseObserver); } + /** + */ + public void getContractFeePots(org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContractFeePotsMethod(), responseObserver); + } + /** */ public void getDocumentHistory(org.dash.platform.dapi.v0.PlatformOuterClass.GetDocumentHistoryRequest request, @@ -2824,6 +2862,13 @@ public void getShieldedNullifiers(org.dash.platform.dapi.v0.PlatformOuterClass.G org.dash.platform.dapi.v0.PlatformOuterClass.GetContractModerationEntriesRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetContractModerationEntriesResponse>( this, METHODID_GET_CONTRACT_MODERATION_ENTRIES))) + .addMethod( + getGetContractFeePotsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest, + org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsResponse>( + this, METHODID_GET_CONTRACT_FEE_POTS))) .addMethod( getGetDocumentHistoryMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -3343,6 +3388,14 @@ public void getContractModerationEntries(org.dash.platform.dapi.v0.PlatformOuter getChannel().newCall(getGetContractModerationEntriesMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void getContractFeePots(org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetContractFeePotsMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void getDocumentHistory(org.dash.platform.dapi.v0.PlatformOuterClass.GetDocumentHistoryRequest request, @@ -3901,6 +3954,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetContractModerationEntries getChannel(), getGetContractModerationEntriesMethod(), getCallOptions(), request); } + /** + */ + public org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsResponse getContractFeePots(org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetContractFeePotsMethod(), getCallOptions(), request); + } + /** */ public org.dash.platform.dapi.v0.PlatformOuterClass.GetDocumentHistoryResponse getDocumentHistory(org.dash.platform.dapi.v0.PlatformOuterClass.GetDocumentHistoryRequest request) { @@ -4435,6 +4495,14 @@ public com.google.common.util.concurrent.ListenableFuture getContractFeePots( + org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetContractFeePotsMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture getDocumentHistory( @@ -4844,52 +4912,53 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -4996,6 +5065,10 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.getContractModerationEntries((org.dash.platform.dapi.v0.PlatformOuterClass.GetContractModerationEntriesRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_CONTRACT_FEE_POTS: + serviceImpl.getContractFeePots((org.dash.platform.dapi.v0.PlatformOuterClass.GetContractFeePotsRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_DOCUMENT_HISTORY: serviceImpl.getDocumentHistory((org.dash.platform.dapi.v0.PlatformOuterClass.GetDocumentHistoryRequest) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -5263,6 +5336,7 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getGetContractGroupsForContractMethod()) .addMethod(getGetContractModerationStatusMethod()) .addMethod(getGetContractModerationEntriesMethod()) + .addMethod(getGetContractFeePotsMethod()) .addMethod(getGetDocumentHistoryMethod()) .addMethod(getGetDocumentsMethod()) .addMethod(getGetIdentityByPublicKeyHashMethod()) diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index ce33c8b7c77..d681ace9ef3 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -812,6 +812,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getContractFeePots}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getContractFeePotsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse} [response] GetContractFeePotsResponse + */ + + /** + * Calls getContractFeePots. + * @function getContractFeePots + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} request GetContractFeePotsRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getContractFeePotsCallback} callback Node-style callback called with the error, if any, and GetContractFeePotsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getContractFeePots = function getContractFeePots(request, callback) { + return this.rpcCall(getContractFeePots, $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest, $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse, request, callback); + }, "name", { value: "getContractFeePots" }); + + /** + * Calls getContractFeePots. + * @function getContractFeePots + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} request GetContractFeePotsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getDocumentHistory}. * @memberof org.dash.platform.dapi.v0.Platform @@ -26549,6 +26582,1364 @@ $root.org = (function() { return GetContractModerationEntriesResponse; })(); + v0.GetContractFeePotsRequest = (function() { + + /** + * Properties of a GetContractFeePotsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContractFeePotsRequest + * @property {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0|null} [v0] GetContractFeePotsRequest v0 + */ + + /** + * Constructs a new GetContractFeePotsRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContractFeePotsRequest. + * @implements IGetContractFeePotsRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest=} [properties] Properties to set + */ + function GetContractFeePotsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsRequest v0. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + */ + GetContractFeePotsRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + */ + Object.defineProperty(GetContractFeePotsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest instance + */ + GetContractFeePotsRequest.create = function create(properties) { + return new GetContractFeePotsRequest(properties); + }; + + /** + * Encodes the specified GetContractFeePotsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} message GetContractFeePotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsRequest} message GetContractFeePotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetContractFeePotsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest} GetContractFeePotsRequest + */ + GetContractFeePotsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest} message GetContractFeePotsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetContractFeePotsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContractFeePotsRequest.GetContractFeePotsRequestV0 = (function() { + + /** + * Properties of a GetContractFeePotsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @interface IGetContractFeePotsRequestV0 + * @property {Uint8Array|null} [contractId] GetContractFeePotsRequestV0 contractId + * @property {boolean|null} [prove] GetContractFeePotsRequestV0 prove + */ + + /** + * Constructs a new GetContractFeePotsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest + * @classdesc Represents a GetContractFeePotsRequestV0. + * @implements IGetContractFeePotsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0=} [properties] Properties to set + */ + function GetContractFeePotsRequestV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsRequestV0 contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + */ + GetContractFeePotsRequestV0.prototype.contractId = $util.newBuffer([]); + + /** + * GetContractFeePotsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + */ + GetContractFeePotsRequestV0.prototype.prove = false; + + /** + * Creates a new GetContractFeePotsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 instance + */ + GetContractFeePotsRequestV0.create = function create(properties) { + return new GetContractFeePotsRequestV0(properties); + }; + + /** + * Encodes the specified GetContractFeePotsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.IGetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequestV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetContractFeePotsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} GetContractFeePotsRequestV0 + */ + GetContractFeePotsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0(); + if (object.contractId != null) + if (typeof object.contractId === "string") + $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); + else if (object.contractId.length >= 0) + message.contractId = object.contractId; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} message GetContractFeePotsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.prove = false; + } + if (message.contractId != null && message.hasOwnProperty("contractId")) + object.contractId = options.bytes === String ? $util.base64.encode(message.contractId, 0, message.contractId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contractId) : message.contractId; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; + + /** + * Converts this GetContractFeePotsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetContractFeePotsRequestV0; + })(); + + return GetContractFeePotsRequest; + })(); + + v0.GetContractFeePotsResponse = (function() { + + /** + * Properties of a GetContractFeePotsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContractFeePotsResponse + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0|null} [v0] GetContractFeePotsResponse v0 + */ + + /** + * Constructs a new GetContractFeePotsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContractFeePotsResponse. + * @implements IGetContractFeePotsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse=} [properties] Properties to set + */ + function GetContractFeePotsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsResponse v0. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + */ + GetContractFeePotsResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + */ + Object.defineProperty(GetContractFeePotsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse instance + */ + GetContractFeePotsResponse.create = function create(properties) { + return new GetContractFeePotsResponse(properties); + }; + + /** + * Encodes the specified GetContractFeePotsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse} message GetContractFeePotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.v0 != null && Object.hasOwnProperty.call(message, "v0")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetContractFeePotsResponse} message GetContractFeePotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + properties.version = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetContractFeePotsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse} GetContractFeePotsResponse + */ + GetContractFeePotsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse} message GetContractFeePotsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.v0 != null && message.hasOwnProperty("v0")) { + object.v0 = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetContractFeePotsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetContractFeePotsResponse.ContractFeePot = (function() { + + /** + * Properties of a ContractFeePot. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePot + * @property {number|Long|null} [credits] ContractFeePot credits + * @property {number|null} [lastClaimEpoch] ContractFeePot lastClaimEpoch + */ + + /** + * Constructs a new ContractFeePot. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePot. + * @implements IContractFeePot + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot=} [properties] Properties to set + */ + function ContractFeePot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePot credits. + * @member {number|Long} credits + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + */ + ContractFeePot.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ContractFeePot lastClaimEpoch. + * @member {number} lastClaimEpoch + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + */ + ContractFeePot.prototype.lastClaimEpoch = 0; + + /** + * Creates a new ContractFeePot instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot instance + */ + ContractFeePot.create = function create(properties) { + return new ContractFeePot(properties); + }; + + /** + * Encodes the specified ContractFeePot message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot} message ContractFeePot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); + if (message.lastClaimEpoch != null && Object.hasOwnProperty.call(message, "lastClaimEpoch")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.lastClaimEpoch); + return writer; + }; + + /** + * Encodes the specified ContractFeePot message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot} message ContractFeePot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePot message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.credits = reader.uint64(); + break; + case 2: + message.lastClaimEpoch = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePot message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.credits != null && message.hasOwnProperty("credits")) + if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) + return "credits: integer|Long expected"; + if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) + if (!$util.isInteger(message.lastClaimEpoch)) + return "lastClaimEpoch: integer expected"; + return null; + }; + + /** + * Creates a ContractFeePot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} ContractFeePot + */ + ContractFeePot.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot(); + if (object.credits != null) + if ($util.Long) + (message.credits = $util.Long.fromValue(object.credits)).unsigned = true; + else if (typeof object.credits === "string") + message.credits = parseInt(object.credits, 10); + else if (typeof object.credits === "number") + message.credits = object.credits; + else if (typeof object.credits === "object") + message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); + if (object.lastClaimEpoch != null) + message.lastClaimEpoch = object.lastClaimEpoch >>> 0; + return message; + }; + + /** + * Creates a plain object from a ContractFeePot message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} message ContractFeePot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.credits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.credits = options.longs === String ? "0" : 0; + object.lastClaimEpoch = 0; + } + if (message.credits != null && message.hasOwnProperty("credits")) + if (typeof message.credits === "number") + object.credits = options.longs === String ? String(message.credits) : message.credits; + else + object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; + if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) + object.lastClaimEpoch = message.lastClaimEpoch; + return object; + }; + + /** + * Converts this ContractFeePot to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot + * @instance + * @returns {Object.} JSON object + */ + ContractFeePot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePot; + })(); + + GetContractFeePotsResponse.ContractFeePots = (function() { + + /** + * Properties of a ContractFeePots. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePots + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null} [owner] ContractFeePots owner + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null} [moderators] ContractFeePots moderators + */ + + /** + * Constructs a new ContractFeePots. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePots. + * @implements IContractFeePots + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots=} [properties] Properties to set + */ + function ContractFeePots(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePots owner. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null|undefined} owner + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + */ + ContractFeePots.prototype.owner = null; + + /** + * ContractFeePots moderators. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePot|null|undefined} moderators + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + */ + ContractFeePots.prototype.moderators = null; + + /** + * Creates a new ContractFeePots instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots instance + */ + ContractFeePots.create = function create(properties) { + return new ContractFeePots(properties); + }; + + /** + * Encodes the specified ContractFeePots message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots} message ContractFeePots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePots.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.owner != null && Object.hasOwnProperty.call(message, "owner")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.encode(message.owner, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.moderators != null && Object.hasOwnProperty.call(message, "moderators")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.encode(message.moderators, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContractFeePots message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots} message ContractFeePots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePots.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePots message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePots.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.decode(reader, reader.uint32()); + break; + case 2: + message.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePots message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePots.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePots message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePots.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.owner != null && message.hasOwnProperty("owner")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify(message.owner); + if (error) + return "owner." + error; + } + if (message.moderators != null && message.hasOwnProperty("moderators")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.verify(message.moderators); + if (error) + return "moderators." + error; + } + return null; + }; + + /** + * Creates a ContractFeePots message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} ContractFeePots + */ + ContractFeePots.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots(); + if (object.owner != null) { + if (typeof object.owner !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.owner: object expected"); + message.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.fromObject(object.owner); + } + if (object.moderators != null) { + if (typeof object.moderators !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.moderators: object expected"); + message.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.fromObject(object.moderators); + } + return message; + }; + + /** + * Creates a plain object from a ContractFeePots message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} message ContractFeePots + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePots.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.owner = null; + object.moderators = null; + } + if (message.owner != null && message.hasOwnProperty("owner")) + object.owner = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(message.owner, options); + if (message.moderators != null && message.hasOwnProperty("moderators")) + object.moderators = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(message.moderators, options); + return object; + }; + + /** + * Converts this ContractFeePots to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots + * @instance + * @returns {Object.} JSON object + */ + ContractFeePots.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePots; + })(); + + GetContractFeePotsResponse.GetContractFeePotsResponseV0 = (function() { + + /** + * Properties of a GetContractFeePotsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IGetContractFeePotsResponseV0 + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots|null} [pots] GetContractFeePotsResponseV0 pots + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContractFeePotsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContractFeePotsResponseV0 metadata + */ + + /** + * Constructs a new GetContractFeePotsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a GetContractFeePotsResponseV0. + * @implements IGetContractFeePotsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0=} [properties] Properties to set + */ + function GetContractFeePotsResponseV0(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetContractFeePotsResponseV0 pots. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePots|null|undefined} pots + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.pots = null; + + /** + * GetContractFeePotsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.proof = null; + + /** + * GetContractFeePotsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + GetContractFeePotsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContractFeePotsResponseV0 result. + * @member {"pots"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + */ + Object.defineProperty(GetContractFeePotsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["pots", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContractFeePotsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 instance + */ + GetContractFeePotsResponseV0.create = function create(properties) { + return new GetContractFeePotsResponseV0(properties); + }; + + /** + * Encodes the specified GetContractFeePotsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pots != null && Object.hasOwnProperty.call(message, "pots")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.encode(message.pots, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContractFeePotsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IGetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContractFeePotsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetContractFeePotsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponseV0.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.decode(reader, reader.uint32()); + break; + case 2: + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 3: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetContractFeePotsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetContractFeePotsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetContractFeePotsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetContractFeePotsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.pots != null && message.hasOwnProperty("pots")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.verify(message.pots); + if (error) + return "pots." + error; + } + } + if (message.proof != null && message.hasOwnProperty("proof")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + } + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + if (error) + return "metadata." + error; + } + return null; + }; + + /** + * Creates a GetContractFeePotsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} GetContractFeePotsResponseV0 + */ + GetContractFeePotsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0(); + if (object.pots != null) { + if (typeof object.pots !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.pots: object expected"); + message.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.fromObject(object.pots); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + } + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetContractFeePotsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} message GetContractFeePotsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetContractFeePotsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.pots != null && message.hasOwnProperty("pots")) { + object.pots = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(message.pots, options); + if (options.oneofs) + object.result = "pots"; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + if (options.oneofs) + object.result = "proof"; + } + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetContractFeePotsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetContractFeePotsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetContractFeePotsResponseV0; + })(); + + return GetContractFeePotsResponse; + })(); + v0.GetContractGroupsForContractRequest = (function() { /** diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index e517d05b9fe..2c0c5ac8bdc 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -118,6 +118,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.VersionCase', null, { proto }); @@ -2848,6 +2857,132 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -32018,6 +32153,1201 @@ proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.prototype.h +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + contractId: msg.getContractId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); +}; + + +/** + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetContractFeePotsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject = function(includeInstance, msg) { + var f, obj = { + credits: jspb.Message.getFieldWithDefault(msg, 1, "0"), + lastClaimEpoch: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readUint64String()); + msg.setCredits(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLastClaimEpoch(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCredits(); + if (parseInt(f, 10) !== 0) { + writer.writeUint64String( + 1, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( + 2, + f + ); + } +}; + + +/** + * optional uint64 credits = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getCredits = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setCredits = function(value) { + return jspb.Message.setProto3StringIntField(this, 1, value); +}; + + +/** + * optional uint32 last_claim_epoch = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaimEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaimEpoch = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaimEpoch = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaimEpoch = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject = function(includeInstance, msg) { + var f, obj = { + owner: (f = msg.getOwner()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(includeInstance, f), + moderators: (f = msg.getModerators()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader); + msg.setOwner(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader); + msg.setModerators(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOwner(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter + ); + } + f = message.getModerators(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ContractFeePot owner = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.getOwner = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.setOwner = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.clearOwner = function() { + return this.setOwner(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.hasOwner = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional ContractFeePot moderators = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.getModerators = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.setModerators = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.clearModerators = function() { + return this.setModerators(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.hasModerators = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + POTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + pots: (f = msg.getPots()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader); + msg.setPots(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPots(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ContractFeePots pots = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getPots = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setPots = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearPots = function() { + return this.setPots(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasPots = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetContractFeePotsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index f21e484bfb5..f531706aabc 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -76,6 +76,10 @@ CF_EXTERN_C_BEGIN @class GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo; @class GetContestedResourcesResponse_GetContestedResourcesResponseV0; @class GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues; +@class GetContractFeePotsRequest_GetContractFeePotsRequestV0; +@class GetContractFeePotsResponse_ContractFeePot; +@class GetContractFeePotsResponse_ContractFeePots; +@class GetContractFeePotsResponse_GetContractFeePotsResponseV0; @class GetContractGroupInfoRequest_GetContractGroupInfoRequestV0; @class GetContractGroupInfoResponse_ContractGroupInfo; @class GetContractGroupInfoResponse_GetContractGroupInfoResponseV0; @@ -3308,6 +3312,149 @@ GPB_FINAL @interface GetContractModerationEntriesResponse_GetContractModerationE **/ void GetContractModerationEntriesResponse_GetContractModerationEntriesResponseV0_ClearResultOneOfCase(GetContractModerationEntriesResponse_GetContractModerationEntriesResponseV0 *message); +#pragma mark - GetContractFeePotsRequest + +typedef GPB_ENUM(GetContractFeePotsRequest_FieldNumber) { + GetContractFeePotsRequest_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetContractFeePotsRequest_Version_OneOfCase) { + GetContractFeePotsRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetContractFeePotsRequest_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetContractFeePotsRequest : GPBMessage + +@property(nonatomic, readonly) GetContractFeePotsRequest_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsRequest_GetContractFeePotsRequestV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetContractFeePotsRequest_ClearVersionOneOfCase(GetContractFeePotsRequest *message); + +#pragma mark - GetContractFeePotsRequest_GetContractFeePotsRequestV0 + +typedef GPB_ENUM(GetContractFeePotsRequest_GetContractFeePotsRequestV0_FieldNumber) { + GetContractFeePotsRequest_GetContractFeePotsRequestV0_FieldNumber_ContractId = 1, + GetContractFeePotsRequest_GetContractFeePotsRequestV0_FieldNumber_Prove = 2, +}; + +GPB_FINAL @interface GetContractFeePotsRequest_GetContractFeePotsRequestV0 : GPBMessage + +/** The 32-byte id of the data contract */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *contractId; + +/** Flag to request a proof as the response */ +@property(nonatomic, readwrite) BOOL prove; + +@end + +#pragma mark - GetContractFeePotsResponse + +typedef GPB_ENUM(GetContractFeePotsResponse_FieldNumber) { + GetContractFeePotsResponse_FieldNumber_V0 = 1, +}; + +typedef GPB_ENUM(GetContractFeePotsResponse_Version_OneOfCase) { + GetContractFeePotsResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0, + GetContractFeePotsResponse_Version_OneOfCase_V0 = 1, +}; + +GPB_FINAL @interface GetContractFeePotsResponse : GPBMessage + +@property(nonatomic, readonly) GetContractFeePotsResponse_Version_OneOfCase versionOneOfCase; + +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsResponse_GetContractFeePotsResponseV0 *v0; + +@end + +/** + * Clears whatever value was set for the oneof 'version'. + **/ +void GetContractFeePotsResponse_ClearVersionOneOfCase(GetContractFeePotsResponse *message); + +#pragma mark - GetContractFeePotsResponse_ContractFeePot + +typedef GPB_ENUM(GetContractFeePotsResponse_ContractFeePot_FieldNumber) { + GetContractFeePotsResponse_ContractFeePot_FieldNumber_Credits = 1, + GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaimEpoch = 2, +}; + +/** + * One of the two pots a contract's document action fees collect in + **/ +GPB_FINAL @interface GetContractFeePotsResponse_ContractFeePot : GPBMessage + +/** What the pot holds */ +@property(nonatomic, readwrite) uint64_t credits; + +/** The epoch the pot was last paid out in, unset when it never was; */ +@property(nonatomic, readwrite) uint32_t lastClaimEpoch; + +@property(nonatomic, readwrite) BOOL hasLastClaimEpoch; +@end + +#pragma mark - GetContractFeePotsResponse_ContractFeePots + +typedef GPB_ENUM(GetContractFeePotsResponse_ContractFeePots_FieldNumber) { + GetContractFeePotsResponse_ContractFeePots_FieldNumber_Owner = 1, + GetContractFeePotsResponse_ContractFeePots_FieldNumber_Moderators = 2, +}; + +GPB_FINAL @interface GetContractFeePotsResponse_ContractFeePots : GPBMessage + +/** The pot the contract owner claims */ +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsResponse_ContractFeePot *owner; +/** Test to see if @c owner has been set. */ +@property(nonatomic, readwrite) BOOL hasOwner; + +/** The pot the moderation team shares */ +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsResponse_ContractFeePot *moderators; +/** Test to see if @c moderators has been set. */ +@property(nonatomic, readwrite) BOOL hasModerators; + +@end + +#pragma mark - GetContractFeePotsResponse_GetContractFeePotsResponseV0 + +typedef GPB_ENUM(GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber) { + GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Pots = 1, + GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Proof = 2, + GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Metadata = 3, +}; + +typedef GPB_ENUM(GetContractFeePotsResponse_GetContractFeePotsResponseV0_Result_OneOfCase) { + GetContractFeePotsResponse_GetContractFeePotsResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0, + GetContractFeePotsResponse_GetContractFeePotsResponseV0_Result_OneOfCase_Pots = 1, + GetContractFeePotsResponse_GetContractFeePotsResponseV0_Result_OneOfCase_Proof = 2, +}; + +GPB_FINAL @interface GetContractFeePotsResponse_GetContractFeePotsResponseV0 : GPBMessage + +@property(nonatomic, readonly) GetContractFeePotsResponse_GetContractFeePotsResponseV0_Result_OneOfCase resultOneOfCase; + +/** Both pots of the contract */ +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsResponse_ContractFeePots *pots; + +/** Cryptographic proof of the pots, if requested */ +@property(nonatomic, readwrite, strong, null_resettable) Proof *proof; + +/** Metadata about the blockchain state */ +@property(nonatomic, readwrite, strong, null_resettable) ResponseMetadata *metadata; +/** Test to see if @c metadata has been set. */ +@property(nonatomic, readwrite) BOOL hasMetadata; + +@end + +/** + * Clears whatever value was set for the oneof 'result'. + **/ +void GetContractFeePotsResponse_GetContractFeePotsResponseV0_ClearResultOneOfCase(GetContractFeePotsResponse_GetContractFeePotsResponseV0 *message); + #pragma mark - GetContractGroupsForContractRequest typedef GPB_ENUM(GetContractGroupsForContractRequest_FieldNumber) { diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index d4519e6c3bc..23f305c8cc0 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m @@ -94,6 +94,12 @@ GPBObjCClassDeclaration(GetContestedResourcesResponse); GPBObjCClassDeclaration(GetContestedResourcesResponse_GetContestedResourcesResponseV0); GPBObjCClassDeclaration(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues); +GPBObjCClassDeclaration(GetContractFeePotsRequest); +GPBObjCClassDeclaration(GetContractFeePotsRequest_GetContractFeePotsRequestV0); +GPBObjCClassDeclaration(GetContractFeePotsResponse); +GPBObjCClassDeclaration(GetContractFeePotsResponse_ContractFeePot); +GPBObjCClassDeclaration(GetContractFeePotsResponse_ContractFeePots); +GPBObjCClassDeclaration(GetContractFeePotsResponse_GetContractFeePotsResponseV0); GPBObjCClassDeclaration(GetContractGroupInfoRequest); GPBObjCClassDeclaration(GetContractGroupInfoRequest_GetContractGroupInfoRequestV0); GPBObjCClassDeclaration(GetContractGroupInfoResponse); @@ -7045,6 +7051,370 @@ void GetContractModerationEntriesResponse_GetContractModerationEntriesResponseV0 GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } +#pragma mark - GetContractFeePotsRequest + +@implementation GetContractFeePotsRequest + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetContractFeePotsRequest__storage_ { + uint32_t _has_storage_[2]; + GetContractFeePotsRequest_GetContractFeePotsRequestV0 *v0; +} GetContractFeePotsRequest__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsRequest_GetContractFeePotsRequestV0), + .number = GetContractFeePotsRequest_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContractFeePotsRequest__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsRequest class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsRequest__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetContractFeePotsRequest_ClearVersionOneOfCase(GetContractFeePotsRequest *message) { + GPBDescriptor *descriptor = [GetContractFeePotsRequest descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetContractFeePotsRequest_GetContractFeePotsRequestV0 + +@implementation GetContractFeePotsRequest_GetContractFeePotsRequestV0 + +@dynamic contractId; +@dynamic prove; + +typedef struct GetContractFeePotsRequest_GetContractFeePotsRequestV0__storage_ { + uint32_t _has_storage_[1]; + NSData *contractId; +} GetContractFeePotsRequest_GetContractFeePotsRequestV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "contractId", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsRequest_GetContractFeePotsRequestV0_FieldNumber_ContractId, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContractFeePotsRequest_GetContractFeePotsRequestV0__storage_, contractId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + { + .name = "prove", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsRequest_GetContractFeePotsRequestV0_FieldNumber_Prove, + .hasIndex = 1, + .offset = 2, // Stored in _has_storage_ to save space. + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBool, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsRequest_GetContractFeePotsRequestV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsRequest_GetContractFeePotsRequestV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContractFeePotsRequest)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetContractFeePotsResponse + +@implementation GetContractFeePotsResponse + +@dynamic versionOneOfCase; +@dynamic v0; + +typedef struct GetContractFeePotsResponse__storage_ { + uint32_t _has_storage_[2]; + GetContractFeePotsResponse_GetContractFeePotsResponseV0 *v0; +} GetContractFeePotsResponse__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "v0", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsResponse_GetContractFeePotsResponseV0), + .number = GetContractFeePotsResponse_FieldNumber_V0, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse__storage_, v0), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsResponse class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsResponse__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "version", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetContractFeePotsResponse_ClearVersionOneOfCase(GetContractFeePotsResponse *message) { + GPBDescriptor *descriptor = [GetContractFeePotsResponse descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} +#pragma mark - GetContractFeePotsResponse_ContractFeePot + +@implementation GetContractFeePotsResponse_ContractFeePot + +@dynamic credits; +@dynamic hasLastClaimEpoch, lastClaimEpoch; + +typedef struct GetContractFeePotsResponse_ContractFeePot__storage_ { + uint32_t _has_storage_[1]; + uint32_t lastClaimEpoch; + uint64_t credits; +} GetContractFeePotsResponse_ContractFeePot__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "credits", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsResponse_ContractFeePot_FieldNumber_Credits, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePot__storage_, credits), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "lastClaimEpoch", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaimEpoch, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePot__storage_, lastClaimEpoch), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsResponse_ContractFeePot class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsResponse_ContractFeePot__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContractFeePotsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetContractFeePotsResponse_ContractFeePots + +@implementation GetContractFeePotsResponse_ContractFeePots + +@dynamic hasOwner, owner; +@dynamic hasModerators, moderators; + +typedef struct GetContractFeePotsResponse_ContractFeePots__storage_ { + uint32_t _has_storage_[1]; + GetContractFeePotsResponse_ContractFeePot *owner; + GetContractFeePotsResponse_ContractFeePot *moderators; +} GetContractFeePotsResponse_ContractFeePots__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "owner", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsResponse_ContractFeePot), + .number = GetContractFeePotsResponse_ContractFeePots_FieldNumber_Owner, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePots__storage_, owner), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "moderators", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsResponse_ContractFeePot), + .number = GetContractFeePotsResponse_ContractFeePots_FieldNumber_Moderators, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePots__storage_, moderators), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsResponse_ContractFeePots class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsResponse_ContractFeePots__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContractFeePotsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GetContractFeePotsResponse_GetContractFeePotsResponseV0 + +@implementation GetContractFeePotsResponse_GetContractFeePotsResponseV0 + +@dynamic resultOneOfCase; +@dynamic pots; +@dynamic proof; +@dynamic hasMetadata, metadata; + +typedef struct GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_ { + uint32_t _has_storage_[2]; + GetContractFeePotsResponse_ContractFeePots *pots; + Proof *proof; + ResponseMetadata *metadata; +} GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "pots", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsResponse_ContractFeePots), + .number = GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Pots, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_, pots), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "proof", + .dataTypeSpecific.clazz = GPBObjCClass(Proof), + .number = GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Proof, + .hasIndex = -1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_, proof), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "metadata", + .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata), + .number = GetContractFeePotsResponse_GetContractFeePotsResponseV0_FieldNumber_Metadata, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_, metadata), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsResponse_GetContractFeePotsResponseV0 class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsResponse_GetContractFeePotsResponseV0__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + static const char *oneofs[] = { + "result", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContractFeePotsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +void GetContractFeePotsResponse_GetContractFeePotsResponseV0_ClearResultOneOfCase(GetContractFeePotsResponse_GetContractFeePotsResponseV0 *message) { + GPBDescriptor *descriptor = [GetContractFeePotsResponse_GetContractFeePotsResponseV0 descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBClearOneof(message, oneof); +} #pragma mark - GetContractGroupsForContractRequest @implementation GetContractGroupsForContractRequest diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h index 6b0c84e98dc..56f912bf51a 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.h @@ -34,6 +34,8 @@ @class GetContestedResourceVotersForIdentityResponse; @class GetContestedResourcesRequest; @class GetContestedResourcesResponse; +@class GetContractFeePotsRequest; +@class GetContractFeePotsResponse; @class GetContractGroupInfoRequest; @class GetContractGroupInfoResponse; @class GetContractGroupMembersRequest; @@ -269,6 +271,10 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCUnaryProtoCall *)getContractModerationEntriesWithMessage:(GetContractModerationEntriesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; +#pragma mark getContractFeePots(GetContractFeePotsRequest) returns (GetContractFeePotsResponse) + +- (GRPCUnaryProtoCall *)getContractFeePotsWithMessage:(GetContractFeePotsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; + #pragma mark getDocumentHistory(GetDocumentHistoryRequest) returns (GetDocumentHistoryResponse) - (GRPCUnaryProtoCall *)getDocumentHistoryWithMessage:(GetDocumentHistoryRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions; @@ -643,6 +649,13 @@ NS_ASSUME_NONNULL_BEGIN - (GRPCProtoCall *)RPCTogetContractModerationEntriesWithRequest:(GetContractModerationEntriesRequest *)request handler:(void(^)(GetContractModerationEntriesResponse *_Nullable response, NSError *_Nullable error))handler; +#pragma mark getContractFeePots(GetContractFeePotsRequest) returns (GetContractFeePotsResponse) + +- (void)getContractFeePotsWithRequest:(GetContractFeePotsRequest *)request handler:(void(^)(GetContractFeePotsResponse *_Nullable response, NSError *_Nullable error))handler; + +- (GRPCProtoCall *)RPCTogetContractFeePotsWithRequest:(GetContractFeePotsRequest *)request handler:(void(^)(GetContractFeePotsResponse *_Nullable response, NSError *_Nullable error))handler; + + #pragma mark getDocumentHistory(GetDocumentHistoryRequest) returns (GetDocumentHistoryResponse) - (void)getDocumentHistoryWithRequest:(GetDocumentHistoryRequest *)request handler:(void(^)(GetDocumentHistoryResponse *_Nullable response, NSError *_Nullable error))handler; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m index 973f8df5a1e..a7f186e8b34 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbrpc.m @@ -523,6 +523,26 @@ - (GRPCUnaryProtoCall *)getContractModerationEntriesWithMessage:(GetContractMode responseClass:[GetContractModerationEntriesResponse class]]; } +#pragma mark getContractFeePots(GetContractFeePotsRequest) returns (GetContractFeePotsResponse) + +- (void)getContractFeePotsWithRequest:(GetContractFeePotsRequest *)request handler:(void(^)(GetContractFeePotsResponse *_Nullable response, NSError *_Nullable error))handler{ + [[self RPCTogetContractFeePotsWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (GRPCProtoCall *)RPCTogetContractFeePotsWithRequest:(GetContractFeePotsRequest *)request handler:(void(^)(GetContractFeePotsResponse *_Nullable response, NSError *_Nullable error))handler{ + return [self RPCToMethod:@"getContractFeePots" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[GetContractFeePotsResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]]; +} +- (GRPCUnaryProtoCall *)getContractFeePotsWithMessage:(GetContractFeePotsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions { + return [self RPCToMethod:@"getContractFeePots" + message:message + responseHandler:handler + callOptions:callOptions + responseClass:[GetContractFeePotsResponse class]]; +} + #pragma mark getDocumentHistory(GetDocumentHistoryRequest) returns (GetDocumentHistoryResponse) - (void)getDocumentHistoryWithRequest:(GetDocumentHistoryRequest *)request handler:(void(^)(GetDocumentHistoryResponse *_Nullable response, NSError *_Nullable error))handler{ diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index 2ffcac6ee0a..d1b67786317 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py @@ -23,7 +23,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8e\x02\n&GetIdentityKeysRemainingBudgetsRequest\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest.GetIdentityKeysRemainingBudgetsRequestV0H\x00\x1a_\n(GetIdentityKeysRemainingBudgetsRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x0f\n\x07key_ids\x18\x02 \x03(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x96\x06\n\'GetIdentityKeysRemainingBudgetsResponse\x12z\n\x02v0\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0H\x00\x1a\xe3\x04\n)GetIdentityKeysRemainingBudgetsResponseV0\x12\xa4\x01\n\x16keys_remaining_budgets\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeysRemainingBudgetsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x61\n\x17KeyRemainingBudgetEntry\x12\x0e\n\x06key_id\x18\x01 \x01(\r\x12!\n\x10remaining_budget\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\x13\n\x11_remaining_budget\x1a\xaf\x01\n\x14KeysRemainingBudgets\x12\x96\x01\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeyRemainingBudgetEntryB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8c\x02\n%GetDataContractsLatestVersionsRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest.GetDataContractsLatestVersionsRequestV0H\x00\x1a`\n\'GetDataContractsLatestVersionsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\x19\n\x11include_contracts\x18\x02 \x01(\x08\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xfa\x05\n&GetDataContractsLatestVersionsResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.GetDataContractsLatestVersionsResponseV0H\x00\x1a\x84\x01\n\x1e\x44\x61taContractLatestVersionEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x14\n\x07version\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rdata_contract\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\n\n\x08_versionB\x10\n\x0e_data_contract\x1a\x90\x01\n\x1b\x44\x61taContractsLatestVersions\x12q\n\x07\x65ntries\x18\x01 \x03(\x0b\x32`.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractLatestVersionEntry\x1a\xb0\x02\n(GetDataContractsLatestVersionsResponseV0\x12\x87\x01\n\x1e\x64\x61ta_contracts_latest_versions\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractsLatestVersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"R\n\x1f\x43ontractGroupDocumentTypeMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\"G\n\x18\x43ontractGroupTokenMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x16\n\x0etoken_position\x18\x02 \x01(\r\"\xd7\x01\n\x1bGetContractGroupInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0H\x00\x1aI\n\x1dGetContractGroupInfoRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x98\x04\n\x1cGetContractGroupInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.GetContractGroupInfoResponseV0H\x00\x1a~\n\x11\x43ontractGroupInfo\x12\x10\n\x08owner_id\x18\x01 \x01(\x0c\x12\x11\n\tadmin_ids\x18\x02 \x03(\x0c\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_description\x1a\x86\x02\n\x1eGetContractGroupInfoResponseV0\x12h\n\x13\x63ontract_group_info\x18\x01 \x01(\x0b\x32I.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.ContractGroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf8\x06\n\x1eGetContractGroupMembersRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.GetContractGroupMembersRequestV0H\x00\x1a@\n\x14\x43ontractMembersQuery\x12\x18\n\x0bstart_after\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\x80\x01\n\x18\x44ocumentTypeMembersQuery\x12T\n\x0bstart_after\x18\x01 \x01(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1ar\n\x11TokenMembersQuery\x12M\n\x0bstart_after\x18\x01 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\xa7\x03\n GetContractGroupMembersRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\x63\n\tcontracts\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.ContractMembersQueryH\x00\x12l\n\x0e\x64ocument_types\x18\x03 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.DocumentTypeMembersQueryH\x00\x12]\n\x06tokens\x18\x04 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.TokenMembersQueryH\x00\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\t\n\x07membersB\x08\n\x06_limitB\t\n\x07version\"\xc9\x06\n\x1fGetContractGroupMembersResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.GetContractGroupMembersResponseV0H\x00\x1a\'\n\x0f\x43ontractMembers\x12\x14\n\x0c\x63ontract_ids\x18\x01 \x03(\x0c\x1ai\n\x13\x44ocumentTypeMembers\x12R\n\x0e\x64ocument_types\x18\x01 \x03(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMember\x1aS\n\x0cTokenMembers\x12\x43\n\x06tokens\x18\x01 \x03(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMember\x1a\xc5\x03\n!GetContractGroupMembersResponseV0\x12_\n\tcontracts\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.ContractMembersH\x00\x12h\n\x0e\x64ocument_types\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.DocumentTypeMembersH\x00\x12Y\n\x06tokens\x18\x03 \x01(\x0b\x32G.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.TokenMembersH\x00\x12\x31\n\x05proof\x18\x04 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"D\n\x18\x43ontractModerationReason\x12\x11\n\x04\x63ode\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04text\x18\x02 \x01(\tB\x07\n\x05_code\"\xc5\x02\n\"GetContractModerationStatusRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetContractModerationStatusRequest.GetContractModerationStatusRequestV0H\x00\x1a\xa1\x01\n$GetContractModerationStatusRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x13\n\x0bidentity_id\x18\x02 \x01(\x0c\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\xae\x06\n#GetContractModerationStatusResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.GetContractModerationStatusResponseV0H\x00\x1a\xf6\x02\n\x18\x43ontractModerationStatus\x12\x13\n\x06\x62\x61nned\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x0fsuspended_until\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12L\n\nban_reason\x18\x04 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x02\x88\x01\x01\x12S\n\x11suspension_reason\x18\x05 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x03\x88\x01\x01\x42\t\n\x07_bannedB\x12\n\x10_suspended_untilB\r\n\x0b_ban_reasonB\x14\n\x12_suspension_reason\x1a\x8e\x02\n%GetContractModerationStatusResponseV0\x12i\n\x06status\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.ContractModerationStatusH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x02\n#GetContractModerationEntriesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest.GetContractModerationEntriesRequestV0H\x00\x1a\xd4\x01\n%GetContractModerationEntriesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12?\n\x04list\x18\x02 \x01(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\x18\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x0e\n\x0c_start_afterB\x08\n\x06_limitB\t\n\x07version\"\xd8\x05\n$GetContractModerationEntriesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0H\x00\x1a\x91\x01\n\x17\x43ontractModerationEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x12\n\x05until\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x43\n\x06reason\x18\x03 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonB\x08\n\x06_until\x1a\x85\x01\n\x19\x43ontractModerationEntries\x12h\n\x07\x65ntries\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntry\x1a\x92\x02\n&GetContractModerationEntriesResponseV0\x12l\n\x07\x65ntries\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf1\x01\n#GetContractGroupsForContractRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest.GetContractGroupsForContractRequestV0H\x00\x1aK\n%GetContractGroupsForContractRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf5\x06\n$GetContractGroupsForContractResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.GetContractGroupsForContractResponseV0H\x00\x1aQ\n\x17\x44ocumentTypeMemberships\x12\x1a\n\x12\x64ocument_type_name\x18\x01 \x01(\t\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x46\n\x10TokenMemberships\x12\x16\n\x0etoken_position\x18\x01 \x01(\r\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x89\x02\n\x18\x43ontractGroupMemberships\x12\x1a\n\x12\x63ontract_group_ids\x18\x01 \x03(\x0c\x12o\n\x0e\x64ocument_types\x18\x02 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.DocumentTypeMemberships\x12`\n\x06tokens\x18\x03 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.TokenMemberships\x1a\xa4\x02\n&GetContractGroupsForContractResponseV0\x12~\n\x1a\x63ontract_group_memberships\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.ContractGroupMembershipsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xad\x02\n\x1eGetDataContractsByRangeRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest.GetDataContractsByRangeRequestV0H\x00\x1a\x95\x01\n GetDataContractsByRangeRequestV0\x12\x12\n\x05limit\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x03 \x01(\x0cH\x00\x12\x10\n\x08ids_only\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_limitB\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xe0\x1f\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x12R\n\x02v1\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1H\x00\x1a\xfe\x02\n\x12\x44ocumentFieldValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x19\n\x0bint64_value\x18\x02 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1a\n\x0cuint64_value\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x0e\n\x04text\x18\x05 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12[\n\x04list\x18\x07 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue.ValueListH\x00\x12\x14\n\nnull_value\x18\x08 \x01(\x08H\x00\x1a^\n\tValueList\x12Q\n\x06values\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueB\t\n\x07variant\x1a\xe2\x02\n\x12TimeRangeSelection\x12\\\n\x08selector\x18\x01 \x01(\x0e\x32J.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Selector\x12\x19\n\x08start_ms\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12T\n\x04grid\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Grid\x1a>\n\x04Grid\x12\x11\n\x05range\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x04step\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x11\n\x05phase\x18\x03 \x01(\x04\x42\x02\x30\x01\"0\n\x08Selector\x12\n\n\x06NEWEST\x10\x00\x12\n\n\x06OLDEST\x10\x01\x12\x0c\n\x08\x42Y_START\x10\x02\x42\x0b\n\t_start_ms\x1a\x95\x02\n\x0bWhereClause\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12N\n\x08operator\x18\x02 \x01(\x0e\x32<.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereOperator\x12P\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue\x12U\n\ntime_range\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection\x1a\xa4\x01\n\x0fHavingAggregate\x12Y\n\x08\x66unction\x18\x01 \x01(\x0e\x32G.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"\'\n\x08\x46unction\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x1a\xf9\x03\n\x0cHavingClause\x12Q\n\taggregate\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate\x12V\n\x08operator\x18\x02 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause.Operator\x12R\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueH\x00\"\xe0\x01\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\r\n\tNOT_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x03\x12\r\n\tLESS_THAN\x10\x04\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x07\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x08\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\t\x12\x06\n\x02IN\x10\nB\x07\n\x05right\x1a\x90\x01\n\x0bOrderClause\x12\x0f\n\x05\x66ield\x18\x01 \x01(\tH\x00\x12S\n\taggregate\x18\x03 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregateH\x00\x12\x11\n\tascending\x18\x02 \x01(\x08\x42\x08\n\x06target\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05start\x1a\xa6\x0c\n\x15GetDocumentsRequestV1\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x12\\\n\x07selects\x18\t \x03(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select\x12\x10\n\x08group_by\x18\n \x03(\t\x12K\n\x06having\x18\x0b \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause\x12\x13\n\x06offset\x18\x0c \x01(\rH\x02\x88\x01\x01\x12\x61\n\x07\x63hained\x18\r \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.ChainedJoin\x12\x62\n\x0bsub_queries\x18\x0e \x03(\x0b\x32M.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery\x1a\xc9\x01\n\x06Select\x12\x66\n\x08\x66unction\x18\x01 \x01(\x0e\x32T.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"H\n\x08\x46unction\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x07\n\x03SUM\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x1a\x41\n\x0b\x43hainedJoin\x12\x15\n\rjoin_property\x18\x01 \x01(\t\x12\x1b\n\x13outer_document_type\x18\x02 \x01(\t\x1a\xa6\x04\n\x08SubQuery\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x00\x88\x01\x01\x12`\n\x04kind\x18\x06 \x01(\x0e\x32R.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Kind\x12\x63\n\x04\x62ind\x18\x07 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Binding\x1a\x41\n\x07\x42inding\x12\x0e\n\x06source\x18\x01 \x01(\r\x12\x17\n\x0fsource_property\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\" \n\x04Kind\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x42\x08\n\x06_limitB\x07\n\x05startB\x08\n\x06_limitB\t\n\x07_offset\"\xfa\x01\n\rWhereOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x02\x12\r\n\tLESS_THAN\x10\x03\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x04\x12\x0b\n\x07\x42\x45TWEEN\x10\x05\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x06\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x07\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\x08\x12\x06\n\x02IN\x10\t\x12\x0f\n\x0bSTARTS_WITH\x10\n\x12\x11\n\rIN_TIME_RANGE\x10\x0b\x42\t\n\x07version\"\xc2\x1b\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x12T\n\x02v1\x18\x02 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06result\x1a\xd4\x17\n\x16GetDocumentsResponseV1\x12\x61\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ResultDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x1aL\n\nCountEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07_in_key\x1ar\n\x0c\x43ountEntries\x12\x62\n\x07\x65ntries\x18\x01 \x03(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntry\x1a\xa0\x01\n\x0c\x43ountResults\x12\x1d\n\x0f\x61ggregate_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x66\n\x07\x65ntries\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\t\n\x07variant\x1aH\n\x08SumEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x0f\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1an\n\nSumEntries\x12`\n\x07\x65ntries\x18\x01 \x03(\x0b\x32O.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntry\x1a\x9a\x01\n\nSumResults\x12\x1b\n\raggregate_sum\x18\x01 \x01(\x12\x42\x02\x30\x01H\x00\x12\x64\n\x07\x65ntries\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntriesH\x00\x42\t\n\x07variant\x1a_\n\x0c\x41verageEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x04 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1av\n\x0e\x41verageEntries\x12\x64\n\x07\x65ntries\x18\x01 \x03(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntry\x1a\x36\n\x10\x41verageAggregate\x12\x11\n\x05\x63ount\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x02 \x01(\x12\x42\x02\x30\x01\x1a\xfb\x01\n\x0e\x41verageResults\x12t\n\x11\x61ggregate_average\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageAggregateH\x00\x12h\n\x07\x65ntries\x18\x02 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntriesH\x00\x42\t\n\x07variant\x1az\n\x0bRankedEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x13\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x11\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01H\x00\x12\r\n\x03\x61vg\x18\x04 \x01(\x01H\x00\x12\x13\n\x06in_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x07\n\x05valueB\t\n\x07_in_key\x1a\x9a\x01\n\rRankedEntries\x12\x63\n\x07\x65ntries\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntry\x12\x18\n\x07skipped\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_skipped\x1a\xf7\x05\n\nResultData\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountResultsH\x00\x12\x61\n\x04sums\x18\x03 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumResultsH\x00\x12i\n\x08\x61verages\x18\x04 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageResultsH\x00\x12\x66\n\x06ranked\x18\x05 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntriesH\x00\x12j\n\x07\x63hained\x18\x06 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ChainedDocumentsH\x00\x12n\n\tcomposite\x18\x07 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocumentsH\x00\x42\t\n\x07variant\x1a\x44\n\x10\x43hainedDocuments\x12\x17\n\x0finner_documents\x18\x01 \x03(\x0c\x12\x17\n\x0fouter_documents\x18\x02 \x03(\x0c\x1a\x96\x03\n\x12\x43ompositeDocuments\x12\x16\n\x0epage_documents\x18\x01 \x03(\x0c\x12}\n\x0bsub_results\x18\x02 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocuments.SubQueryResult\x1a\xe8\x01\n\x0eSubQueryResult\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\x08\n\x06resultB\x08\n\x06resultB\t\n\x07version\"\xf4\x02\n\x19GetDocumentHistoryRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentHistoryRequest.GetDocumentHistoryRequestV0H\x00\x1a\xeb\x01\n\x1bGetDocumentHistoryRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64ocument_id\x18\x03 \x01(\x0c\x12+\n\x05limit\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x07 \x01(\x08\x42\t\n\x07version\"\xf7\x04\n\x1aGetDocumentHistoryResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0H\x00\x1a\xeb\x03\n\x1cGetDocumentHistoryResponseV0\x12~\n\x10\x64ocument_history\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x14\x44ocumentHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\x95\x01\n\x0f\x44ocumentHistory\x12\x81\x01\n\x10\x64ocument_entries\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n*GetIdentityByNonUniquePublicKeyHashRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0H\x00\x1a\x80\x01\n,GetIdentityByNonUniquePublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\x18\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x0e\n\x0c_start_afterB\t\n\x07version\"\xd6\x06\n+GetIdentityByNonUniquePublicKeyHashResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0H\x00\x1a\x96\x05\n-GetIdentityByNonUniquePublicKeyHashResponseV0\x12\x9a\x01\n\x08identity\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponseH\x00\x12\x9d\x01\n\x05proof\x18\x02 \x01(\x0b\x32\x8b\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponseH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x10IdentityResponse\x12\x15\n\x08identity\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_identity\x1a\xa6\x01\n\x16IdentityProvedResponse\x12P\n&grovedb_identity_public_key_hash_proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12!\n\x14identity_proof_bytes\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x17\n\x15_identity_proof_bytesB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry\x1a:\n\x0cVersionEntry\x12\x16\n\x0eversion_number\x18\x01 \x01(\r\x12\x12\n\nvote_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\x12\x19\n\x11start_pro_tx_hash\x18\x01 \x01(\x0c\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignalsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal\x1a\x35\n\rVersionSignal\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xf5\x01\n\x14GetEpochsInfoRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0H\x00\x1a|\n\x16GetEpochsInfoRequestV0\x12\x31\n\x0bstart_epoch\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x11\n\tascending\x18\x03 \x01(\x08\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\n\x17GetEpochsInfoResponseV0\x12\x65\n\x06\x65pochs\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1au\n\nEpochInfos\x12g\n\x0b\x65poch_infos\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo\x1a\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xbf\x02\n\x1dGetFinalizedEpochInfosRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0H\x00\x1a\xaa\x01\n\x1fGetFinalizedEpochInfosRequestV0\x12\x19\n\x11start_epoch_index\x18\x01 \x01(\r\x12\"\n\x1astart_epoch_index_included\x18\x02 \x01(\x08\x12\x17\n\x0f\x65nd_epoch_index\x18\x03 \x01(\r\x12 \n\x18\x65nd_epoch_index_included\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xbd\t\n\x1eGetFinalizedEpochInfosResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0H\x00\x1a\xa5\x08\n GetFinalizedEpochInfosResponseV0\x12\x80\x01\n\x06\x65pochs\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xa4\x01\n\x13\x46inalizedEpochInfos\x12\x8c\x01\n\x15\x66inalized_epoch_infos\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo\x1a\x9f\x04\n\x12\x46inalizedEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x1c\n\x10\x66irst_block_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\r\x12!\n\x15total_blocks_in_epoch\x18\x07 \x01(\x04\x42\x02\x30\x01\x12*\n\"next_epoch_start_core_block_height\x18\x08 \x01(\r\x12!\n\x15total_processing_fees\x18\t \x01(\x04\x42\x02\x30\x01\x12*\n\x1etotal_distributed_storage_fees\x18\n \x01(\x04\x42\x02\x30\x01\x12&\n\x1atotal_created_storage_fees\x18\x0b \x01(\x04\x42\x02\x30\x01\x12\x1e\n\x12\x63ore_block_rewards\x18\x0c \x01(\x04\x42\x02\x30\x01\x12\x81\x01\n\x0f\x62lock_proposers\x18\r \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer\x1a\x39\n\rBlockProposer\x12\x13\n\x0bproposer_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lock_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a<\n\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xe4\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xf3\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\x82\x05\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xcc\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a<\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x12\n\nnext_epoch\x18\x05 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xce\x01\n\x1bGetTokenContractInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0H\x00\x1a@\n\x1dGetTokenContractInfoRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xfb\x03\n\x1cGetTokenContractInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0H\x00\x1a\xe9\x02\n\x1eGetTokenContractInfoResponseV0\x12|\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aM\n\x15TokenContractInfoData\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a>\n\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\x82\x04\n-GetTokenPerpetualDistributionLastClaimRequest\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0H\x00\x1aI\n\x11\x43ontractTokenInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\r\x1a\xf1\x01\n/GetTokenPerpetualDistributionLastClaimRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12v\n\rcontract_info\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfoH\x00\x88\x01\x01\x12\x13\n\x0bidentity_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x10\n\x0e_contract_infoB\t\n\x07version\"\x93\x05\n.GetTokenPerpetualDistributionLastClaimResponse\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0H\x00\x1a\xca\x03\n0GetTokenPerpetualDistributionLastClaimResponseV0\x12\x9f\x01\n\nlast_claim\x18\x01 \x01(\x0b\x32\x88\x01.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\rLastClaimInfo\x12\x1a\n\x0ctimestamp_ms\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1a\n\x0c\x62lock_height\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x0f\n\x05\x65poch\x18\x03 \x01(\rH\x00\x12\x13\n\traw_bytes\x18\x04 \x01(\x0cH\x00\x42\t\n\x07paid_atB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xd6\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xd3\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a[\n\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a[\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0c\x62urn_from_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x15GetAddressInfoRequest\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetAddressInfoRequest.GetAddressInfoRequestV0H\x00\x1a\x39\n\x17GetAddressInfoRequestV0\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x85\x01\n\x10\x41\x64\x64ressInfoEntry\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12J\n\x11\x62\x61lance_and_nonce\x18\x02 \x01(\x0b\x32*.org.dash.platform.dapi.v0.BalanceAndNonceH\x00\x88\x01\x01\x42\x14\n\x12_balance_and_nonce\"1\n\x0f\x42\x61lanceAndNonce\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\r\n\x05nonce\x18\x02 \x01(\r\"_\n\x12\x41\x64\x64ressInfoEntries\x12I\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x03(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntry\"m\n\x14\x41\x64\x64ressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_balance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1c\n\x0e\x61\x64\x64_to_balance\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x42\x0b\n\toperation\"x\n\x1a\x42lockAddressBalanceChanges\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12@\n\x07\x63hanges\x18\x02 \x03(\x0b\x32/.org.dash.platform.dapi.v0.AddressBalanceChange\"k\n\x1b\x41\x64\x64ressBalanceUpdateEntries\x12L\n\rblock_changes\x18\x01 \x03(\x0b\x32\x35.org.dash.platform.dapi.v0.BlockAddressBalanceChanges\"\xe1\x02\n\x16GetAddressInfoResponse\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetAddressInfoResponse.GetAddressInfoResponseV0H\x00\x1a\xe1\x01\n\x18GetAddressInfoResponseV0\x12I\n\x12\x61\x64\x64ress_info_entry\x18\x01 \x01(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc3\x01\n\x18GetAddressesInfosRequest\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetAddressesInfosRequest.GetAddressesInfosRequestV0H\x00\x1a>\n\x1aGetAddressesInfosRequestV0\x12\x11\n\taddresses\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf1\x02\n\x19GetAddressesInfosResponse\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetAddressesInfosResponse.GetAddressesInfosResponseV0H\x00\x1a\xe8\x01\n\x1bGetAddressesInfosResponseV0\x12M\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x01(\x0b\x32-.org.dash.platform.dapi.v0.AddressInfoEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x1dGetAddressesTrunkStateRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest.GetAddressesTrunkStateRequestV0H\x00\x1a!\n\x1fGetAddressesTrunkStateRequestV0B\t\n\x07version\"\xaa\x02\n\x1eGetAddressesTrunkStateResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse.GetAddressesTrunkStateResponseV0H\x00\x1a\x92\x01\n GetAddressesTrunkStateResponseV0\x12/\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf0\x01\n\x1eGetAddressesBranchStateRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest.GetAddressesBranchStateRequestV0H\x00\x1aY\n GetAddressesBranchStateRequestV0\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\r\x12\x19\n\x11\x63heckpoint_height\x18\x03 \x01(\x04\x42\t\n\x07version\"\xd1\x01\n\x1fGetAddressesBranchStateResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse.GetAddressesBranchStateResponseV0H\x00\x1a\x37\n!GetAddressesBranchStateResponseV0\x12\x12\n\nmerk_proof\x18\x02 \x01(\x0c\x42\t\n\x07version\"\x9e\x02\n%GetRecentAddressBalanceChangesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest.GetRecentAddressBalanceChangesRequestV0H\x00\x1ar\n\'GetRecentAddressBalanceChangesRequestV0\x12\x18\n\x0cstart_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x12\x1e\n\x16start_height_exclusive\x18\x03 \x01(\x08\x42\t\n\x07version\"\xb8\x03\n&GetRecentAddressBalanceChangesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse.GetRecentAddressBalanceChangesResponseV0H\x00\x1a\x88\x02\n(GetRecentAddressBalanceChangesResponseV0\x12`\n\x1e\x61\x64\x64ress_balance_update_entries\x18\x01 \x01(\x0b\x32\x36.org.dash.platform.dapi.v0.AddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"G\n\x16\x42lockHeightCreditEntry\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x07\x63redits\x18\x02 \x01(\x04\x42\x02\x30\x01\"\xb0\x01\n\x1d\x43ompactedAddressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_credits\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12V\n\x19\x61\x64\x64_to_credits_operations\x18\x03 \x01(\x0b\x32\x31.org.dash.platform.dapi.v0.AddToCreditsOperationsH\x00\x42\x0b\n\toperation\"\\\n\x16\x41\x64\x64ToCreditsOperations\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.org.dash.platform.dapi.v0.BlockHeightCreditEntry\"\xae\x01\n#CompactedBlockAddressBalanceChanges\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1c\n\x10\x65nd_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12I\n\x07\x63hanges\x18\x03 \x03(\x0b\x32\x38.org.dash.platform.dapi.v0.CompactedAddressBalanceChange\"\x87\x01\n$CompactedAddressBalanceUpdateEntries\x12_\n\x17\x63ompacted_block_changes\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.CompactedBlockAddressBalanceChanges\"\xa9\x02\n.GetRecentCompactedAddressBalanceChangesRequest\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest.GetRecentCompactedAddressBalanceChangesRequestV0H\x00\x1a\x61\n0GetRecentCompactedAddressBalanceChangesRequestV0\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf0\x03\n/GetRecentCompactedAddressBalanceChangesResponse\x12\x8a\x01\n\x02v0\x18\x01 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse.GetRecentCompactedAddressBalanceChangesResponseV0H\x00\x1a\xa4\x02\n1GetRecentCompactedAddressBalanceChangesResponseV0\x12s\n(compacted_address_balance_update_entries\x18\x01 \x01(\x0b\x32?.org.dash.platform.dapi.v0.CompactedAddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf4\x01\n GetShieldedEncryptedNotesRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest.GetShieldedEncryptedNotesRequestV0H\x00\x1aW\n\"GetShieldedEncryptedNotesRequestV0\x12\x13\n\x0bstart_index\x18\x01 \x01(\x04\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xbc\x05\n!GetShieldedEncryptedNotesResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0H\x00\x1a\x9b\x04\n#GetShieldedEncryptedNotesResponseV0\x12\x8a\x01\n\x0f\x65ncrypted_notes\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aW\n\rEncryptedNote\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x0b\n\x03\x63mx\x18\x02 \x01(\x0c\x12\x16\n\x0e\x65ncrypted_note\x18\x03 \x01(\x0c\x12\x0e\n\x06\x63v_net\x18\x04 \x01(\x0c\x1a\x91\x01\n\x0e\x45ncryptedNotes\x12\x7f\n\x07\x65ntries\x18\x01 \x03(\x0b\x32n.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNoteB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x19GetShieldedAnchorsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest.GetShieldedAnchorsRequestV0H\x00\x1a,\n\x1bGetShieldedAnchorsRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb1\x03\n\x1aGetShieldedAnchorsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0H\x00\x1a\xa5\x02\n\x1cGetShieldedAnchorsResponseV0\x12m\n\x07\x61nchors\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0.AnchorsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x07\x41nchors\x12\x0f\n\x07\x61nchors\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd8\x01\n\"GetMostRecentShieldedAnchorRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest.GetMostRecentShieldedAnchorRequestV0H\x00\x1a\x35\n$GetMostRecentShieldedAnchorRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xdc\x02\n#GetMostRecentShieldedAnchorResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse.GetMostRecentShieldedAnchorResponseV0H\x00\x1a\xb5\x01\n%GetMostRecentShieldedAnchorResponseV0\x12\x10\n\x06\x61nchor\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x01\n\x1bGetShieldedPoolStateRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest.GetShieldedPoolStateRequestV0H\x00\x1a.\n\x1dGetShieldedPoolStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xcb\x02\n\x1cGetShieldedPoolStateResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse.GetShieldedPoolStateResponseV0H\x00\x1a\xb9\x01\n\x1eGetShieldedPoolStateResponseV0\x12\x1b\n\rtotal_balance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc0\x01\n\x1cGetShieldedNotesCountRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest.GetShieldedNotesCountRequestV0H\x00\x1a/\n\x1eGetShieldedNotesCountRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd3\x02\n\x1dGetShieldedNotesCountResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse.GetShieldedNotesCountResponseV0H\x00\x1a\xbe\x01\n\x1fGetShieldedNotesCountResponseV0\x12\x1f\n\x11total_notes_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd4\x01\n\x1cGetShieldedNullifiersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest.GetShieldedNullifiersRequestV0H\x00\x1a\x43\n\x1eGetShieldedNullifiersRequestV0\x12\x12\n\nnullifiers\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x86\x05\n\x1dGetShieldedNullifiersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0H\x00\x1a\xf1\x03\n\x1fGetShieldedNullifiersResponseV0\x12\x88\x01\n\x12nullifier_statuses\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x0fNullifierStatus\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x10\n\x08is_spent\x18\x02 \x01(\x08\x1a\x8e\x01\n\x11NullifierStatuses\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05*\x92\x01\n\x16\x43ontractModerationList\x12(\n$CONTRACT_MODERATION_LIST_UNSPECIFIED\x10\x00\x12$\n CONTRACT_MODERATION_LIST_BANLIST\x10\x01\x12(\n$CONTRACT_MODERATION_LIST_SUSPENSIONS\x10\x02\x32\xadN\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\xa8\x01\n\x1fgetIdentityKeysRemainingBudgets\x12\x41.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest\x1a\x42.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12\xa5\x01\n\x1egetDataContractsLatestVersions\x12@.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest\x1a\x41.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x89\x01\n\x17getDataContractsByRange\x12\x39.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x87\x01\n\x14getContractGroupInfo\x12\x36.org.dash.platform.dapi.v0.GetContractGroupInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetContractGroupInfoResponse\x12\x90\x01\n\x17getContractGroupMembers\x12\x39.org.dash.platform.dapi.v0.GetContractGroupMembersRequest\x1a:.org.dash.platform.dapi.v0.GetContractGroupMembersResponse\x12\x9f\x01\n\x1cgetContractGroupsForContract\x12>.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest\x1a?.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse\x12\x9c\x01\n\x1bgetContractModerationStatus\x12=.org.dash.platform.dapi.v0.GetContractModerationStatusRequest\x1a>.org.dash.platform.dapi.v0.GetContractModerationStatusResponse\x12\x9f\x01\n\x1cgetContractModerationEntries\x12>.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest\x1a?.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse\x12\x81\x01\n\x12getDocumentHistory\x12\x34.org.dash.platform.dapi.v0.GetDocumentHistoryRequest\x1a\x35.org.dash.platform.dapi.v0.GetDocumentHistoryResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\xb4\x01\n#getIdentityByNonUniquePublicKeyHash\x12\x45.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest\x1a\x46.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponse\x12\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8d\x01\n\x16getFinalizedEpochInfos\x12\x38.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest\x1a\x39.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\x87\x01\n\x14getTokenContractInfo\x12\x36.org.dash.platform.dapi.v0.GetTokenContractInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetTokenContractInfoResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\xbd\x01\n&getTokenPerpetualDistributionLastClaim\x12H.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest\x1aI.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponse\x12u\n\x0egetAddressInfo\x12\x30.org.dash.platform.dapi.v0.GetAddressInfoRequest\x1a\x31.org.dash.platform.dapi.v0.GetAddressInfoResponse\x12~\n\x11getAddressesInfos\x12\x33.org.dash.platform.dapi.v0.GetAddressesInfosRequest\x1a\x34.org.dash.platform.dapi.v0.GetAddressesInfosResponse\x12\x8d\x01\n\x16getAddressesTrunkState\x12\x38.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest\x1a\x39.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse\x12\x90\x01\n\x17getAddressesBranchState\x12\x39.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest\x1a:.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse\x12\xa5\x01\n\x1egetRecentAddressBalanceChanges\x12@.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest\x1a\x41.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse\x12\xc0\x01\n\'getRecentCompactedAddressBalanceChanges\x12I.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest\x1aJ.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse\x12\x96\x01\n\x19getShieldedEncryptedNotes\x12;.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest\x1a<.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse\x12\x81\x01\n\x12getShieldedAnchors\x12\x34.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest\x1a\x35.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse\x12\x9c\x01\n\x1bgetMostRecentShieldedAnchor\x12=.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest\x1a>.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse\x12\x87\x01\n\x14getShieldedPoolState\x12\x36.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest\x1a\x37.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse\x12\x8a\x01\n\x15getShieldedNotesCount\x12\x37.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse\x12\x8a\x01\n\x15getShieldedNullifiers\x12\x37.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNullifiersResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8e\x02\n&GetIdentityKeysRemainingBudgetsRequest\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest.GetIdentityKeysRemainingBudgetsRequestV0H\x00\x1a_\n(GetIdentityKeysRemainingBudgetsRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x0f\n\x07key_ids\x18\x02 \x03(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x96\x06\n\'GetIdentityKeysRemainingBudgetsResponse\x12z\n\x02v0\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0H\x00\x1a\xe3\x04\n)GetIdentityKeysRemainingBudgetsResponseV0\x12\xa4\x01\n\x16keys_remaining_budgets\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeysRemainingBudgetsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x61\n\x17KeyRemainingBudgetEntry\x12\x0e\n\x06key_id\x18\x01 \x01(\r\x12!\n\x10remaining_budget\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\x13\n\x11_remaining_budget\x1a\xaf\x01\n\x14KeysRemainingBudgets\x12\x96\x01\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeyRemainingBudgetEntryB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8c\x02\n%GetDataContractsLatestVersionsRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest.GetDataContractsLatestVersionsRequestV0H\x00\x1a`\n\'GetDataContractsLatestVersionsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\x19\n\x11include_contracts\x18\x02 \x01(\x08\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xfa\x05\n&GetDataContractsLatestVersionsResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.GetDataContractsLatestVersionsResponseV0H\x00\x1a\x84\x01\n\x1e\x44\x61taContractLatestVersionEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x14\n\x07version\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rdata_contract\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\n\n\x08_versionB\x10\n\x0e_data_contract\x1a\x90\x01\n\x1b\x44\x61taContractsLatestVersions\x12q\n\x07\x65ntries\x18\x01 \x03(\x0b\x32`.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractLatestVersionEntry\x1a\xb0\x02\n(GetDataContractsLatestVersionsResponseV0\x12\x87\x01\n\x1e\x64\x61ta_contracts_latest_versions\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractsLatestVersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"R\n\x1f\x43ontractGroupDocumentTypeMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\"G\n\x18\x43ontractGroupTokenMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x16\n\x0etoken_position\x18\x02 \x01(\r\"\xd7\x01\n\x1bGetContractGroupInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0H\x00\x1aI\n\x1dGetContractGroupInfoRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x98\x04\n\x1cGetContractGroupInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.GetContractGroupInfoResponseV0H\x00\x1a~\n\x11\x43ontractGroupInfo\x12\x10\n\x08owner_id\x18\x01 \x01(\x0c\x12\x11\n\tadmin_ids\x18\x02 \x03(\x0c\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_description\x1a\x86\x02\n\x1eGetContractGroupInfoResponseV0\x12h\n\x13\x63ontract_group_info\x18\x01 \x01(\x0b\x32I.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.ContractGroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf8\x06\n\x1eGetContractGroupMembersRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.GetContractGroupMembersRequestV0H\x00\x1a@\n\x14\x43ontractMembersQuery\x12\x18\n\x0bstart_after\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\x80\x01\n\x18\x44ocumentTypeMembersQuery\x12T\n\x0bstart_after\x18\x01 \x01(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1ar\n\x11TokenMembersQuery\x12M\n\x0bstart_after\x18\x01 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\xa7\x03\n GetContractGroupMembersRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\x63\n\tcontracts\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.ContractMembersQueryH\x00\x12l\n\x0e\x64ocument_types\x18\x03 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.DocumentTypeMembersQueryH\x00\x12]\n\x06tokens\x18\x04 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.TokenMembersQueryH\x00\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\t\n\x07membersB\x08\n\x06_limitB\t\n\x07version\"\xc9\x06\n\x1fGetContractGroupMembersResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.GetContractGroupMembersResponseV0H\x00\x1a\'\n\x0f\x43ontractMembers\x12\x14\n\x0c\x63ontract_ids\x18\x01 \x03(\x0c\x1ai\n\x13\x44ocumentTypeMembers\x12R\n\x0e\x64ocument_types\x18\x01 \x03(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMember\x1aS\n\x0cTokenMembers\x12\x43\n\x06tokens\x18\x01 \x03(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMember\x1a\xc5\x03\n!GetContractGroupMembersResponseV0\x12_\n\tcontracts\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.ContractMembersH\x00\x12h\n\x0e\x64ocument_types\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.DocumentTypeMembersH\x00\x12Y\n\x06tokens\x18\x03 \x01(\x0b\x32G.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.TokenMembersH\x00\x12\x31\n\x05proof\x18\x04 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"D\n\x18\x43ontractModerationReason\x12\x11\n\x04\x63ode\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04text\x18\x02 \x01(\tB\x07\n\x05_code\"\xc5\x02\n\"GetContractModerationStatusRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetContractModerationStatusRequest.GetContractModerationStatusRequestV0H\x00\x1a\xa1\x01\n$GetContractModerationStatusRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x13\n\x0bidentity_id\x18\x02 \x01(\x0c\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\xae\x06\n#GetContractModerationStatusResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.GetContractModerationStatusResponseV0H\x00\x1a\xf6\x02\n\x18\x43ontractModerationStatus\x12\x13\n\x06\x62\x61nned\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x0fsuspended_until\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12L\n\nban_reason\x18\x04 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x02\x88\x01\x01\x12S\n\x11suspension_reason\x18\x05 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x03\x88\x01\x01\x42\t\n\x07_bannedB\x12\n\x10_suspended_untilB\r\n\x0b_ban_reasonB\x14\n\x12_suspension_reason\x1a\x8e\x02\n%GetContractModerationStatusResponseV0\x12i\n\x06status\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.ContractModerationStatusH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x02\n#GetContractModerationEntriesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest.GetContractModerationEntriesRequestV0H\x00\x1a\xd4\x01\n%GetContractModerationEntriesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12?\n\x04list\x18\x02 \x01(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\x18\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x0e\n\x0c_start_afterB\x08\n\x06_limitB\t\n\x07version\"\xd8\x05\n$GetContractModerationEntriesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0H\x00\x1a\x91\x01\n\x17\x43ontractModerationEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x12\n\x05until\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x43\n\x06reason\x18\x03 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonB\x08\n\x06_until\x1a\x85\x01\n\x19\x43ontractModerationEntries\x12h\n\x07\x65ntries\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntry\x1a\x92\x02\n&GetContractModerationEntriesResponseV0\x12l\n\x07\x65ntries\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc9\x01\n\x19GetContractFeePotsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0H\x00\x1a\x41\n\x1bGetContractFeePotsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9b\x05\n\x1aGetContractFeePotsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0H\x00\x1aY\n\x0e\x43ontractFeePot\x12\x13\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x10last_claim_epoch\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\x13\n\x11_last_claim_epoch\x1a\xc0\x01\n\x0f\x43ontractFeePots\x12S\n\x05owner\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x12X\n\nmoderators\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x1a\xf1\x01\n\x1cGetContractFeePotsResponseV0\x12U\n\x04pots\x18\x01 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf1\x01\n#GetContractGroupsForContractRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest.GetContractGroupsForContractRequestV0H\x00\x1aK\n%GetContractGroupsForContractRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf5\x06\n$GetContractGroupsForContractResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.GetContractGroupsForContractResponseV0H\x00\x1aQ\n\x17\x44ocumentTypeMemberships\x12\x1a\n\x12\x64ocument_type_name\x18\x01 \x01(\t\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x46\n\x10TokenMemberships\x12\x16\n\x0etoken_position\x18\x01 \x01(\r\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x89\x02\n\x18\x43ontractGroupMemberships\x12\x1a\n\x12\x63ontract_group_ids\x18\x01 \x03(\x0c\x12o\n\x0e\x64ocument_types\x18\x02 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.DocumentTypeMemberships\x12`\n\x06tokens\x18\x03 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.TokenMemberships\x1a\xa4\x02\n&GetContractGroupsForContractResponseV0\x12~\n\x1a\x63ontract_group_memberships\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.ContractGroupMembershipsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xad\x02\n\x1eGetDataContractsByRangeRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest.GetDataContractsByRangeRequestV0H\x00\x1a\x95\x01\n GetDataContractsByRangeRequestV0\x12\x12\n\x05limit\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x03 \x01(\x0cH\x00\x12\x10\n\x08ids_only\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_limitB\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xe0\x1f\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x12R\n\x02v1\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1H\x00\x1a\xfe\x02\n\x12\x44ocumentFieldValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x19\n\x0bint64_value\x18\x02 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1a\n\x0cuint64_value\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x0e\n\x04text\x18\x05 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12[\n\x04list\x18\x07 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue.ValueListH\x00\x12\x14\n\nnull_value\x18\x08 \x01(\x08H\x00\x1a^\n\tValueList\x12Q\n\x06values\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueB\t\n\x07variant\x1a\xe2\x02\n\x12TimeRangeSelection\x12\\\n\x08selector\x18\x01 \x01(\x0e\x32J.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Selector\x12\x19\n\x08start_ms\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12T\n\x04grid\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Grid\x1a>\n\x04Grid\x12\x11\n\x05range\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x04step\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x11\n\x05phase\x18\x03 \x01(\x04\x42\x02\x30\x01\"0\n\x08Selector\x12\n\n\x06NEWEST\x10\x00\x12\n\n\x06OLDEST\x10\x01\x12\x0c\n\x08\x42Y_START\x10\x02\x42\x0b\n\t_start_ms\x1a\x95\x02\n\x0bWhereClause\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12N\n\x08operator\x18\x02 \x01(\x0e\x32<.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereOperator\x12P\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue\x12U\n\ntime_range\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection\x1a\xa4\x01\n\x0fHavingAggregate\x12Y\n\x08\x66unction\x18\x01 \x01(\x0e\x32G.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"\'\n\x08\x46unction\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x1a\xf9\x03\n\x0cHavingClause\x12Q\n\taggregate\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate\x12V\n\x08operator\x18\x02 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause.Operator\x12R\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueH\x00\"\xe0\x01\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\r\n\tNOT_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x03\x12\r\n\tLESS_THAN\x10\x04\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x07\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x08\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\t\x12\x06\n\x02IN\x10\nB\x07\n\x05right\x1a\x90\x01\n\x0bOrderClause\x12\x0f\n\x05\x66ield\x18\x01 \x01(\tH\x00\x12S\n\taggregate\x18\x03 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregateH\x00\x12\x11\n\tascending\x18\x02 \x01(\x08\x42\x08\n\x06target\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05start\x1a\xa6\x0c\n\x15GetDocumentsRequestV1\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x12\\\n\x07selects\x18\t \x03(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select\x12\x10\n\x08group_by\x18\n \x03(\t\x12K\n\x06having\x18\x0b \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause\x12\x13\n\x06offset\x18\x0c \x01(\rH\x02\x88\x01\x01\x12\x61\n\x07\x63hained\x18\r \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.ChainedJoin\x12\x62\n\x0bsub_queries\x18\x0e \x03(\x0b\x32M.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery\x1a\xc9\x01\n\x06Select\x12\x66\n\x08\x66unction\x18\x01 \x01(\x0e\x32T.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"H\n\x08\x46unction\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x07\n\x03SUM\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x1a\x41\n\x0b\x43hainedJoin\x12\x15\n\rjoin_property\x18\x01 \x01(\t\x12\x1b\n\x13outer_document_type\x18\x02 \x01(\t\x1a\xa6\x04\n\x08SubQuery\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x00\x88\x01\x01\x12`\n\x04kind\x18\x06 \x01(\x0e\x32R.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Kind\x12\x63\n\x04\x62ind\x18\x07 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Binding\x1a\x41\n\x07\x42inding\x12\x0e\n\x06source\x18\x01 \x01(\r\x12\x17\n\x0fsource_property\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\" \n\x04Kind\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x42\x08\n\x06_limitB\x07\n\x05startB\x08\n\x06_limitB\t\n\x07_offset\"\xfa\x01\n\rWhereOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x02\x12\r\n\tLESS_THAN\x10\x03\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x04\x12\x0b\n\x07\x42\x45TWEEN\x10\x05\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x06\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x07\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\x08\x12\x06\n\x02IN\x10\t\x12\x0f\n\x0bSTARTS_WITH\x10\n\x12\x11\n\rIN_TIME_RANGE\x10\x0b\x42\t\n\x07version\"\xc2\x1b\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x12T\n\x02v1\x18\x02 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06result\x1a\xd4\x17\n\x16GetDocumentsResponseV1\x12\x61\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ResultDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x1aL\n\nCountEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07_in_key\x1ar\n\x0c\x43ountEntries\x12\x62\n\x07\x65ntries\x18\x01 \x03(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntry\x1a\xa0\x01\n\x0c\x43ountResults\x12\x1d\n\x0f\x61ggregate_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x66\n\x07\x65ntries\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\t\n\x07variant\x1aH\n\x08SumEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x0f\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1an\n\nSumEntries\x12`\n\x07\x65ntries\x18\x01 \x03(\x0b\x32O.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntry\x1a\x9a\x01\n\nSumResults\x12\x1b\n\raggregate_sum\x18\x01 \x01(\x12\x42\x02\x30\x01H\x00\x12\x64\n\x07\x65ntries\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntriesH\x00\x42\t\n\x07variant\x1a_\n\x0c\x41verageEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x04 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1av\n\x0e\x41verageEntries\x12\x64\n\x07\x65ntries\x18\x01 \x03(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntry\x1a\x36\n\x10\x41verageAggregate\x12\x11\n\x05\x63ount\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x02 \x01(\x12\x42\x02\x30\x01\x1a\xfb\x01\n\x0e\x41verageResults\x12t\n\x11\x61ggregate_average\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageAggregateH\x00\x12h\n\x07\x65ntries\x18\x02 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntriesH\x00\x42\t\n\x07variant\x1az\n\x0bRankedEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x13\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x11\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01H\x00\x12\r\n\x03\x61vg\x18\x04 \x01(\x01H\x00\x12\x13\n\x06in_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x07\n\x05valueB\t\n\x07_in_key\x1a\x9a\x01\n\rRankedEntries\x12\x63\n\x07\x65ntries\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntry\x12\x18\n\x07skipped\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_skipped\x1a\xf7\x05\n\nResultData\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountResultsH\x00\x12\x61\n\x04sums\x18\x03 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumResultsH\x00\x12i\n\x08\x61verages\x18\x04 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageResultsH\x00\x12\x66\n\x06ranked\x18\x05 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntriesH\x00\x12j\n\x07\x63hained\x18\x06 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ChainedDocumentsH\x00\x12n\n\tcomposite\x18\x07 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocumentsH\x00\x42\t\n\x07variant\x1a\x44\n\x10\x43hainedDocuments\x12\x17\n\x0finner_documents\x18\x01 \x03(\x0c\x12\x17\n\x0fouter_documents\x18\x02 \x03(\x0c\x1a\x96\x03\n\x12\x43ompositeDocuments\x12\x16\n\x0epage_documents\x18\x01 \x03(\x0c\x12}\n\x0bsub_results\x18\x02 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocuments.SubQueryResult\x1a\xe8\x01\n\x0eSubQueryResult\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\x08\n\x06resultB\x08\n\x06resultB\t\n\x07version\"\xf4\x02\n\x19GetDocumentHistoryRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentHistoryRequest.GetDocumentHistoryRequestV0H\x00\x1a\xeb\x01\n\x1bGetDocumentHistoryRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64ocument_id\x18\x03 \x01(\x0c\x12+\n\x05limit\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x07 \x01(\x08\x42\t\n\x07version\"\xf7\x04\n\x1aGetDocumentHistoryResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0H\x00\x1a\xeb\x03\n\x1cGetDocumentHistoryResponseV0\x12~\n\x10\x64ocument_history\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x14\x44ocumentHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\x95\x01\n\x0f\x44ocumentHistory\x12\x81\x01\n\x10\x64ocument_entries\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n*GetIdentityByNonUniquePublicKeyHashRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0H\x00\x1a\x80\x01\n,GetIdentityByNonUniquePublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\x18\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x0e\n\x0c_start_afterB\t\n\x07version\"\xd6\x06\n+GetIdentityByNonUniquePublicKeyHashResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0H\x00\x1a\x96\x05\n-GetIdentityByNonUniquePublicKeyHashResponseV0\x12\x9a\x01\n\x08identity\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponseH\x00\x12\x9d\x01\n\x05proof\x18\x02 \x01(\x0b\x32\x8b\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponseH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x10IdentityResponse\x12\x15\n\x08identity\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_identity\x1a\xa6\x01\n\x16IdentityProvedResponse\x12P\n&grovedb_identity_public_key_hash_proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12!\n\x14identity_proof_bytes\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x17\n\x15_identity_proof_bytesB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry\x1a:\n\x0cVersionEntry\x12\x16\n\x0eversion_number\x18\x01 \x01(\r\x12\x12\n\nvote_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\x12\x19\n\x11start_pro_tx_hash\x18\x01 \x01(\x0c\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignalsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal\x1a\x35\n\rVersionSignal\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xf5\x01\n\x14GetEpochsInfoRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0H\x00\x1a|\n\x16GetEpochsInfoRequestV0\x12\x31\n\x0bstart_epoch\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x11\n\tascending\x18\x03 \x01(\x08\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\n\x17GetEpochsInfoResponseV0\x12\x65\n\x06\x65pochs\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1au\n\nEpochInfos\x12g\n\x0b\x65poch_infos\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo\x1a\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xbf\x02\n\x1dGetFinalizedEpochInfosRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0H\x00\x1a\xaa\x01\n\x1fGetFinalizedEpochInfosRequestV0\x12\x19\n\x11start_epoch_index\x18\x01 \x01(\r\x12\"\n\x1astart_epoch_index_included\x18\x02 \x01(\x08\x12\x17\n\x0f\x65nd_epoch_index\x18\x03 \x01(\r\x12 \n\x18\x65nd_epoch_index_included\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xbd\t\n\x1eGetFinalizedEpochInfosResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0H\x00\x1a\xa5\x08\n GetFinalizedEpochInfosResponseV0\x12\x80\x01\n\x06\x65pochs\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xa4\x01\n\x13\x46inalizedEpochInfos\x12\x8c\x01\n\x15\x66inalized_epoch_infos\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo\x1a\x9f\x04\n\x12\x46inalizedEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x1c\n\x10\x66irst_block_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\r\x12!\n\x15total_blocks_in_epoch\x18\x07 \x01(\x04\x42\x02\x30\x01\x12*\n\"next_epoch_start_core_block_height\x18\x08 \x01(\r\x12!\n\x15total_processing_fees\x18\t \x01(\x04\x42\x02\x30\x01\x12*\n\x1etotal_distributed_storage_fees\x18\n \x01(\x04\x42\x02\x30\x01\x12&\n\x1atotal_created_storage_fees\x18\x0b \x01(\x04\x42\x02\x30\x01\x12\x1e\n\x12\x63ore_block_rewards\x18\x0c \x01(\x04\x42\x02\x30\x01\x12\x81\x01\n\x0f\x62lock_proposers\x18\r \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer\x1a\x39\n\rBlockProposer\x12\x13\n\x0bproposer_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lock_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a<\n\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xe4\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xf3\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\x82\x05\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xcc\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a<\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x12\n\nnext_epoch\x18\x05 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xce\x01\n\x1bGetTokenContractInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0H\x00\x1a@\n\x1dGetTokenContractInfoRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xfb\x03\n\x1cGetTokenContractInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0H\x00\x1a\xe9\x02\n\x1eGetTokenContractInfoResponseV0\x12|\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aM\n\x15TokenContractInfoData\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a>\n\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\x82\x04\n-GetTokenPerpetualDistributionLastClaimRequest\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0H\x00\x1aI\n\x11\x43ontractTokenInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\r\x1a\xf1\x01\n/GetTokenPerpetualDistributionLastClaimRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12v\n\rcontract_info\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfoH\x00\x88\x01\x01\x12\x13\n\x0bidentity_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x10\n\x0e_contract_infoB\t\n\x07version\"\x93\x05\n.GetTokenPerpetualDistributionLastClaimResponse\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0H\x00\x1a\xca\x03\n0GetTokenPerpetualDistributionLastClaimResponseV0\x12\x9f\x01\n\nlast_claim\x18\x01 \x01(\x0b\x32\x88\x01.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\rLastClaimInfo\x12\x1a\n\x0ctimestamp_ms\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1a\n\x0c\x62lock_height\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x0f\n\x05\x65poch\x18\x03 \x01(\rH\x00\x12\x13\n\traw_bytes\x18\x04 \x01(\x0cH\x00\x42\t\n\x07paid_atB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xd6\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xd3\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a[\n\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a[\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0c\x62urn_from_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x15GetAddressInfoRequest\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetAddressInfoRequest.GetAddressInfoRequestV0H\x00\x1a\x39\n\x17GetAddressInfoRequestV0\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x85\x01\n\x10\x41\x64\x64ressInfoEntry\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12J\n\x11\x62\x61lance_and_nonce\x18\x02 \x01(\x0b\x32*.org.dash.platform.dapi.v0.BalanceAndNonceH\x00\x88\x01\x01\x42\x14\n\x12_balance_and_nonce\"1\n\x0f\x42\x61lanceAndNonce\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\r\n\x05nonce\x18\x02 \x01(\r\"_\n\x12\x41\x64\x64ressInfoEntries\x12I\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x03(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntry\"m\n\x14\x41\x64\x64ressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_balance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1c\n\x0e\x61\x64\x64_to_balance\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x42\x0b\n\toperation\"x\n\x1a\x42lockAddressBalanceChanges\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12@\n\x07\x63hanges\x18\x02 \x03(\x0b\x32/.org.dash.platform.dapi.v0.AddressBalanceChange\"k\n\x1b\x41\x64\x64ressBalanceUpdateEntries\x12L\n\rblock_changes\x18\x01 \x03(\x0b\x32\x35.org.dash.platform.dapi.v0.BlockAddressBalanceChanges\"\xe1\x02\n\x16GetAddressInfoResponse\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetAddressInfoResponse.GetAddressInfoResponseV0H\x00\x1a\xe1\x01\n\x18GetAddressInfoResponseV0\x12I\n\x12\x61\x64\x64ress_info_entry\x18\x01 \x01(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc3\x01\n\x18GetAddressesInfosRequest\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetAddressesInfosRequest.GetAddressesInfosRequestV0H\x00\x1a>\n\x1aGetAddressesInfosRequestV0\x12\x11\n\taddresses\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf1\x02\n\x19GetAddressesInfosResponse\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetAddressesInfosResponse.GetAddressesInfosResponseV0H\x00\x1a\xe8\x01\n\x1bGetAddressesInfosResponseV0\x12M\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x01(\x0b\x32-.org.dash.platform.dapi.v0.AddressInfoEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x1dGetAddressesTrunkStateRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest.GetAddressesTrunkStateRequestV0H\x00\x1a!\n\x1fGetAddressesTrunkStateRequestV0B\t\n\x07version\"\xaa\x02\n\x1eGetAddressesTrunkStateResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse.GetAddressesTrunkStateResponseV0H\x00\x1a\x92\x01\n GetAddressesTrunkStateResponseV0\x12/\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf0\x01\n\x1eGetAddressesBranchStateRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest.GetAddressesBranchStateRequestV0H\x00\x1aY\n GetAddressesBranchStateRequestV0\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\r\x12\x19\n\x11\x63heckpoint_height\x18\x03 \x01(\x04\x42\t\n\x07version\"\xd1\x01\n\x1fGetAddressesBranchStateResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse.GetAddressesBranchStateResponseV0H\x00\x1a\x37\n!GetAddressesBranchStateResponseV0\x12\x12\n\nmerk_proof\x18\x02 \x01(\x0c\x42\t\n\x07version\"\x9e\x02\n%GetRecentAddressBalanceChangesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest.GetRecentAddressBalanceChangesRequestV0H\x00\x1ar\n\'GetRecentAddressBalanceChangesRequestV0\x12\x18\n\x0cstart_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x12\x1e\n\x16start_height_exclusive\x18\x03 \x01(\x08\x42\t\n\x07version\"\xb8\x03\n&GetRecentAddressBalanceChangesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse.GetRecentAddressBalanceChangesResponseV0H\x00\x1a\x88\x02\n(GetRecentAddressBalanceChangesResponseV0\x12`\n\x1e\x61\x64\x64ress_balance_update_entries\x18\x01 \x01(\x0b\x32\x36.org.dash.platform.dapi.v0.AddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"G\n\x16\x42lockHeightCreditEntry\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x07\x63redits\x18\x02 \x01(\x04\x42\x02\x30\x01\"\xb0\x01\n\x1d\x43ompactedAddressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_credits\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12V\n\x19\x61\x64\x64_to_credits_operations\x18\x03 \x01(\x0b\x32\x31.org.dash.platform.dapi.v0.AddToCreditsOperationsH\x00\x42\x0b\n\toperation\"\\\n\x16\x41\x64\x64ToCreditsOperations\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.org.dash.platform.dapi.v0.BlockHeightCreditEntry\"\xae\x01\n#CompactedBlockAddressBalanceChanges\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1c\n\x10\x65nd_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12I\n\x07\x63hanges\x18\x03 \x03(\x0b\x32\x38.org.dash.platform.dapi.v0.CompactedAddressBalanceChange\"\x87\x01\n$CompactedAddressBalanceUpdateEntries\x12_\n\x17\x63ompacted_block_changes\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.CompactedBlockAddressBalanceChanges\"\xa9\x02\n.GetRecentCompactedAddressBalanceChangesRequest\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest.GetRecentCompactedAddressBalanceChangesRequestV0H\x00\x1a\x61\n0GetRecentCompactedAddressBalanceChangesRequestV0\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf0\x03\n/GetRecentCompactedAddressBalanceChangesResponse\x12\x8a\x01\n\x02v0\x18\x01 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse.GetRecentCompactedAddressBalanceChangesResponseV0H\x00\x1a\xa4\x02\n1GetRecentCompactedAddressBalanceChangesResponseV0\x12s\n(compacted_address_balance_update_entries\x18\x01 \x01(\x0b\x32?.org.dash.platform.dapi.v0.CompactedAddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf4\x01\n GetShieldedEncryptedNotesRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest.GetShieldedEncryptedNotesRequestV0H\x00\x1aW\n\"GetShieldedEncryptedNotesRequestV0\x12\x13\n\x0bstart_index\x18\x01 \x01(\x04\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xbc\x05\n!GetShieldedEncryptedNotesResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0H\x00\x1a\x9b\x04\n#GetShieldedEncryptedNotesResponseV0\x12\x8a\x01\n\x0f\x65ncrypted_notes\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aW\n\rEncryptedNote\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x0b\n\x03\x63mx\x18\x02 \x01(\x0c\x12\x16\n\x0e\x65ncrypted_note\x18\x03 \x01(\x0c\x12\x0e\n\x06\x63v_net\x18\x04 \x01(\x0c\x1a\x91\x01\n\x0e\x45ncryptedNotes\x12\x7f\n\x07\x65ntries\x18\x01 \x03(\x0b\x32n.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNoteB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x19GetShieldedAnchorsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest.GetShieldedAnchorsRequestV0H\x00\x1a,\n\x1bGetShieldedAnchorsRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb1\x03\n\x1aGetShieldedAnchorsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0H\x00\x1a\xa5\x02\n\x1cGetShieldedAnchorsResponseV0\x12m\n\x07\x61nchors\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0.AnchorsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x07\x41nchors\x12\x0f\n\x07\x61nchors\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd8\x01\n\"GetMostRecentShieldedAnchorRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest.GetMostRecentShieldedAnchorRequestV0H\x00\x1a\x35\n$GetMostRecentShieldedAnchorRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xdc\x02\n#GetMostRecentShieldedAnchorResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse.GetMostRecentShieldedAnchorResponseV0H\x00\x1a\xb5\x01\n%GetMostRecentShieldedAnchorResponseV0\x12\x10\n\x06\x61nchor\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x01\n\x1bGetShieldedPoolStateRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest.GetShieldedPoolStateRequestV0H\x00\x1a.\n\x1dGetShieldedPoolStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xcb\x02\n\x1cGetShieldedPoolStateResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse.GetShieldedPoolStateResponseV0H\x00\x1a\xb9\x01\n\x1eGetShieldedPoolStateResponseV0\x12\x1b\n\rtotal_balance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc0\x01\n\x1cGetShieldedNotesCountRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest.GetShieldedNotesCountRequestV0H\x00\x1a/\n\x1eGetShieldedNotesCountRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd3\x02\n\x1dGetShieldedNotesCountResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse.GetShieldedNotesCountResponseV0H\x00\x1a\xbe\x01\n\x1fGetShieldedNotesCountResponseV0\x12\x1f\n\x11total_notes_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd4\x01\n\x1cGetShieldedNullifiersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest.GetShieldedNullifiersRequestV0H\x00\x1a\x43\n\x1eGetShieldedNullifiersRequestV0\x12\x12\n\nnullifiers\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x86\x05\n\x1dGetShieldedNullifiersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0H\x00\x1a\xf1\x03\n\x1fGetShieldedNullifiersResponseV0\x12\x88\x01\n\x12nullifier_statuses\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x0fNullifierStatus\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x10\n\x08is_spent\x18\x02 \x01(\x08\x1a\x8e\x01\n\x11NullifierStatuses\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05*\x92\x01\n\x16\x43ontractModerationList\x12(\n$CONTRACT_MODERATION_LIST_UNSPECIFIED\x10\x00\x12$\n CONTRACT_MODERATION_LIST_BANLIST\x10\x01\x12(\n$CONTRACT_MODERATION_LIST_SUSPENSIONS\x10\x02\x32\xb1O\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\xa8\x01\n\x1fgetIdentityKeysRemainingBudgets\x12\x41.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest\x1a\x42.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12\xa5\x01\n\x1egetDataContractsLatestVersions\x12@.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest\x1a\x41.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x89\x01\n\x17getDataContractsByRange\x12\x39.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x87\x01\n\x14getContractGroupInfo\x12\x36.org.dash.platform.dapi.v0.GetContractGroupInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetContractGroupInfoResponse\x12\x90\x01\n\x17getContractGroupMembers\x12\x39.org.dash.platform.dapi.v0.GetContractGroupMembersRequest\x1a:.org.dash.platform.dapi.v0.GetContractGroupMembersResponse\x12\x9f\x01\n\x1cgetContractGroupsForContract\x12>.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest\x1a?.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse\x12\x9c\x01\n\x1bgetContractModerationStatus\x12=.org.dash.platform.dapi.v0.GetContractModerationStatusRequest\x1a>.org.dash.platform.dapi.v0.GetContractModerationStatusResponse\x12\x9f\x01\n\x1cgetContractModerationEntries\x12>.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest\x1a?.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse\x12\x81\x01\n\x12getContractFeePots\x12\x34.org.dash.platform.dapi.v0.GetContractFeePotsRequest\x1a\x35.org.dash.platform.dapi.v0.GetContractFeePotsResponse\x12\x81\x01\n\x12getDocumentHistory\x12\x34.org.dash.platform.dapi.v0.GetDocumentHistoryRequest\x1a\x35.org.dash.platform.dapi.v0.GetDocumentHistoryResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\xb4\x01\n#getIdentityByNonUniquePublicKeyHash\x12\x45.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest\x1a\x46.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponse\x12\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8d\x01\n\x16getFinalizedEpochInfos\x12\x38.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest\x1a\x39.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\x87\x01\n\x14getTokenContractInfo\x12\x36.org.dash.platform.dapi.v0.GetTokenContractInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetTokenContractInfoResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\xbd\x01\n&getTokenPerpetualDistributionLastClaim\x12H.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest\x1aI.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponse\x12u\n\x0egetAddressInfo\x12\x30.org.dash.platform.dapi.v0.GetAddressInfoRequest\x1a\x31.org.dash.platform.dapi.v0.GetAddressInfoResponse\x12~\n\x11getAddressesInfos\x12\x33.org.dash.platform.dapi.v0.GetAddressesInfosRequest\x1a\x34.org.dash.platform.dapi.v0.GetAddressesInfosResponse\x12\x8d\x01\n\x16getAddressesTrunkState\x12\x38.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest\x1a\x39.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse\x12\x90\x01\n\x17getAddressesBranchState\x12\x39.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest\x1a:.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse\x12\xa5\x01\n\x1egetRecentAddressBalanceChanges\x12@.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest\x1a\x41.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse\x12\xc0\x01\n\'getRecentCompactedAddressBalanceChanges\x12I.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest\x1aJ.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse\x12\x96\x01\n\x19getShieldedEncryptedNotes\x12;.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest\x1a<.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse\x12\x81\x01\n\x12getShieldedAnchors\x12\x34.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest\x1a\x35.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse\x12\x9c\x01\n\x1bgetMostRecentShieldedAnchor\x12=.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest\x1a>.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse\x12\x87\x01\n\x14getShieldedPoolState\x12\x36.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest\x1a\x37.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse\x12\x8a\x01\n\x15getShieldedNotesCount\x12\x37.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse\x12\x8a\x01\n\x15getShieldedNullifiers\x12\x37.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNullifiersResponseb\x06proto3' , dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -62,8 +62,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=76308, - serialized_end=76398, + serialized_start=77182, + serialized_end=77272, ) _sym_db.RegisterEnumDescriptor(_KEYPURPOSE) @@ -93,8 +93,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=76401, - serialized_end=76547, + serialized_start=77275, + serialized_end=77421, ) _sym_db.RegisterEnumDescriptor(_CONTRACTMODERATIONLIST) @@ -159,8 +159,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=20281, - serialized_end=20329, + serialized_start=21155, + serialized_end=21203, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_TIMERANGESELECTION_SELECTOR) @@ -189,8 +189,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=20750, - serialized_end=20789, + serialized_start=21624, + serialized_end=21663, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_HAVINGAGGREGATE_FUNCTION) @@ -259,8 +259,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=21064, - serialized_end=21288, + serialized_start=21938, + serialized_end=22162, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_HAVINGCLAUSE_OPERATOR) @@ -304,8 +304,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=22489, - serialized_end=22561, + serialized_start=23363, + serialized_end=23435, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SELECT_FUNCTION) @@ -329,8 +329,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=23139, - serialized_end=23171, + serialized_start=24013, + serialized_end=24045, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY_KIND) @@ -404,8 +404,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=23214, - serialized_end=23464, + serialized_start=24088, + serialized_end=24338, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_WHEREOPERATOR) @@ -434,8 +434,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=39018, - serialized_end=39091, + serialized_start=39892, + serialized_end=39965, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE) @@ -464,8 +464,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=40013, - serialized_end=40092, + serialized_start=40887, + serialized_end=40966, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME) @@ -494,8 +494,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=43721, - serialized_end=43782, + serialized_start=44595, + serialized_end=44656, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE) @@ -519,8 +519,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=62346, - serialized_end=62384, + serialized_start=63220, + serialized_end=63258, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSREQUEST_ACTIONSTATUS) @@ -544,8 +544,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=63631, - serialized_end=63666, + serialized_start=64505, + serialized_end=64540, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT_ACTIONTYPE) @@ -569,8 +569,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=62346, - serialized_end=62384, + serialized_start=63220, + serialized_end=63258, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSIGNERSREQUEST_ACTIONSTATUS) @@ -4965,6 +4965,249 @@ ) +_GETCONTRACTFEEPOTSREQUEST_GETCONTRACTFEEPOTSREQUESTV0 = _descriptor.Descriptor( + name='GetContractFeePotsRequestV0', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='contract_id', full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.contract_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='prove', full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prove', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16297, + serialized_end=16362, +) + +_GETCONTRACTFEEPOTSREQUEST = _descriptor.Descriptor( + name='GetContractFeePotsRequest', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTRACTFEEPOTSREQUEST_GETCONTRACTFEEPOTSREQUESTV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContractFeePotsRequest.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=16172, + serialized_end=16373, +) + + +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT = _descriptor.Descriptor( + name='ContractFeePot', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='credits', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.credits', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_claim_epoch', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.last_claim_epoch', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_last_claim_epoch', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot._last_claim_epoch', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=16504, + serialized_end=16593, +) + +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS = _descriptor.Descriptor( + name='ContractFeePots', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='owner', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.owner', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='moderators', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.moderators', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16596, + serialized_end=16788, +) + +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0 = _descriptor.Descriptor( + name='GetContractFeePotsResponseV0', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pots', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.pots', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='proof', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.proof', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metadata', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.metadata', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='result', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.result', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=16791, + serialized_end=17032, +) + +_GETCONTRACTFEEPOTSRESPONSE = _descriptor.Descriptor( + name='GetContractFeePotsResponse', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='v0', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.v0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT, _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS, _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='version', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.version', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=16376, + serialized_end=17043, +) + + _GETCONTRACTGROUPSFORCONTRACTREQUEST_GETCONTRACTGROUPSFORCONTRACTREQUESTV0 = _descriptor.Descriptor( name='GetContractGroupsForContractRequestV0', full_name='org.dash.platform.dapi.v0.GetContractGroupsForContractRequest.GetContractGroupsForContractRequestV0', @@ -4999,8 +5242,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16327, - serialized_end=16402, + serialized_start=17201, + serialized_end=17276, ) _GETCONTRACTGROUPSFORCONTRACTREQUEST = _descriptor.Descriptor( @@ -5035,8 +5278,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16172, - serialized_end=16413, + serialized_start=17046, + serialized_end=17287, ) @@ -5074,8 +5317,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16574, - serialized_end=16655, + serialized_start=17448, + serialized_end=17529, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_TOKENMEMBERSHIPS = _descriptor.Descriptor( @@ -5112,8 +5355,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16657, - serialized_end=16727, + serialized_start=17531, + serialized_end=17601, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_CONTRACTGROUPMEMBERSHIPS = _descriptor.Descriptor( @@ -5157,8 +5400,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16730, - serialized_end=16995, + serialized_start=17604, + serialized_end=17869, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_GETCONTRACTGROUPSFORCONTRACTRESPONSEV0 = _descriptor.Descriptor( @@ -5207,8 +5450,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16998, - serialized_end=17290, + serialized_start=17872, + serialized_end=18164, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE = _descriptor.Descriptor( @@ -5243,8 +5486,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16416, - serialized_end=17301, + serialized_start=17290, + serialized_end=18175, ) @@ -5282,8 +5525,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17423, - serialized_end=17478, + serialized_start=18297, + serialized_end=18352, ) _GETDATACONTRACTSREQUEST = _descriptor.Descriptor( @@ -5318,8 +5561,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17304, - serialized_end=17489, + serialized_start=18178, + serialized_end=18363, ) @@ -5388,8 +5631,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17633, - serialized_end=17782, + serialized_start=18507, + serialized_end=18656, ) _GETDATACONTRACTSBYRANGEREQUEST = _descriptor.Descriptor( @@ -5424,8 +5667,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17492, - serialized_end=17793, + serialized_start=18366, + serialized_end=18667, ) @@ -5463,8 +5706,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17918, - serialized_end=18009, + serialized_start=18792, + serialized_end=18883, ) _GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( @@ -5494,8 +5737,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18011, - serialized_end=18128, + serialized_start=18885, + serialized_end=19002, ) _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( @@ -5544,8 +5787,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18131, - serialized_end=18376, + serialized_start=19005, + serialized_end=19250, ) _GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( @@ -5580,8 +5823,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17796, - serialized_end=18387, + serialized_start=18670, + serialized_end=19261, ) @@ -5640,8 +5883,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18528, - serialized_end=18704, + serialized_start=19402, + serialized_end=19578, ) _GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( @@ -5676,8 +5919,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18390, - serialized_end=18715, + serialized_start=19264, + serialized_end=19589, ) @@ -5715,8 +5958,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19155, - serialized_end=19214, + serialized_start=20029, + serialized_end=20088, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( @@ -5746,8 +5989,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19217, - serialized_end=19387, + serialized_start=20091, + serialized_end=20261, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -5796,8 +6039,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18859, - serialized_end=19397, + serialized_start=19733, + serialized_end=20271, ) _GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( @@ -5832,8 +6075,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18718, - serialized_end=19408, + serialized_start=19592, + serialized_end=20282, ) @@ -5864,8 +6107,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19880, - serialized_end=19974, + serialized_start=20754, + serialized_end=20848, ) _GETDOCUMENTSREQUEST_DOCUMENTFIELDVALUE = _descriptor.Descriptor( @@ -5949,8 +6192,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19603, - serialized_end=19985, + serialized_start=20477, + serialized_end=20859, ) _GETDOCUMENTSREQUEST_TIMERANGESELECTION_GRID = _descriptor.Descriptor( @@ -5994,8 +6237,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20217, - serialized_end=20279, + serialized_start=21091, + serialized_end=21153, ) _GETDOCUMENTSREQUEST_TIMERANGESELECTION = _descriptor.Descriptor( @@ -6045,8 +6288,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19988, - serialized_end=20342, + serialized_start=20862, + serialized_end=21216, ) _GETDOCUMENTSREQUEST_WHERECLAUSE = _descriptor.Descriptor( @@ -6097,8 +6340,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20345, - serialized_end=20622, + serialized_start=21219, + serialized_end=21496, ) _GETDOCUMENTSREQUEST_HAVINGAGGREGATE = _descriptor.Descriptor( @@ -6136,8 +6379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20625, - serialized_end=20789, + serialized_start=21499, + serialized_end=21663, ) _GETDOCUMENTSREQUEST_HAVINGCLAUSE = _descriptor.Descriptor( @@ -6187,8 +6430,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=20792, - serialized_end=21297, + serialized_start=21666, + serialized_end=22171, ) _GETDOCUMENTSREQUEST_ORDERCLAUSE = _descriptor.Descriptor( @@ -6237,8 +6480,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=21300, - serialized_end=21444, + serialized_start=22174, + serialized_end=22318, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 = _descriptor.Descriptor( @@ -6322,8 +6565,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=21447, - serialized_end=21634, + serialized_start=22321, + serialized_end=22508, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SELECT = _descriptor.Descriptor( @@ -6361,8 +6604,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=22360, - serialized_end=22561, + serialized_start=23234, + serialized_end=23435, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_CHAINEDJOIN = _descriptor.Descriptor( @@ -6399,8 +6642,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=22563, - serialized_end=22628, + serialized_start=23437, + serialized_end=23502, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY_BINDING = _descriptor.Descriptor( @@ -6444,8 +6687,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23072, - serialized_end=23137, + serialized_start=23946, + serialized_end=24011, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY = _descriptor.Descriptor( @@ -6523,8 +6766,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=22631, - serialized_end=23181, + serialized_start=23505, + serialized_end=24055, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1 = _descriptor.Descriptor( @@ -6660,8 +6903,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=21637, - serialized_end=23211, + serialized_start=22511, + serialized_end=24085, ) _GETDOCUMENTSREQUEST = _descriptor.Descriptor( @@ -6704,8 +6947,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19411, - serialized_end=23475, + serialized_start=20285, + serialized_end=24349, ) @@ -6736,8 +6979,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23918, - serialized_end=23948, + serialized_start=24792, + serialized_end=24822, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -6786,8 +7029,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=23675, - serialized_end=23958, + serialized_start=24549, + serialized_end=24832, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_DOCUMENTS = _descriptor.Descriptor( @@ -6817,8 +7060,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23918, - serialized_end=23948, + serialized_start=24792, + serialized_end=24822, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTENTRY = _descriptor.Descriptor( @@ -6867,8 +7110,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24232, - serialized_end=24308, + serialized_start=25106, + serialized_end=25182, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTENTRIES = _descriptor.Descriptor( @@ -6898,8 +7141,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24310, - serialized_end=24424, + serialized_start=25184, + serialized_end=25298, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTRESULTS = _descriptor.Descriptor( @@ -6941,8 +7184,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24427, - serialized_end=24587, + serialized_start=25301, + serialized_end=25461, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMENTRY = _descriptor.Descriptor( @@ -6991,8 +7234,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24589, - serialized_end=24661, + serialized_start=25463, + serialized_end=25535, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMENTRIES = _descriptor.Descriptor( @@ -7022,8 +7265,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24663, - serialized_end=24773, + serialized_start=25537, + serialized_end=25647, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMRESULTS = _descriptor.Descriptor( @@ -7065,8 +7308,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24776, - serialized_end=24930, + serialized_start=25650, + serialized_end=25804, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEENTRY = _descriptor.Descriptor( @@ -7122,8 +7365,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24932, - serialized_end=25027, + serialized_start=25806, + serialized_end=25901, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEENTRIES = _descriptor.Descriptor( @@ -7153,8 +7396,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25029, - serialized_end=25147, + serialized_start=25903, + serialized_end=26021, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEAGGREGATE = _descriptor.Descriptor( @@ -7191,8 +7434,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25149, - serialized_end=25203, + serialized_start=26023, + serialized_end=26077, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGERESULTS = _descriptor.Descriptor( @@ -7234,8 +7477,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25206, - serialized_end=25457, + serialized_start=26080, + serialized_end=26331, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RANKEDENTRY = _descriptor.Descriptor( @@ -7303,8 +7546,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25459, - serialized_end=25581, + serialized_start=26333, + serialized_end=26455, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RANKEDENTRIES = _descriptor.Descriptor( @@ -7346,8 +7589,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25584, - serialized_end=25738, + serialized_start=26458, + serialized_end=26612, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RESULTDATA = _descriptor.Descriptor( @@ -7424,8 +7667,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25741, - serialized_end=26500, + serialized_start=26615, + serialized_end=27374, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_CHAINEDDOCUMENTS = _descriptor.Descriptor( @@ -7462,8 +7705,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=26502, - serialized_end=26570, + serialized_start=27376, + serialized_end=27444, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COMPOSITEDOCUMENTS_SUBQUERYRESULT = _descriptor.Descriptor( @@ -7505,8 +7748,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=26747, - serialized_end=26979, + serialized_start=27621, + serialized_end=27853, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COMPOSITEDOCUMENTS = _descriptor.Descriptor( @@ -7543,8 +7786,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=26573, - serialized_end=26979, + serialized_start=27447, + serialized_end=27853, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1 = _descriptor.Descriptor( @@ -7593,8 +7836,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=23961, - serialized_end=26989, + serialized_start=24835, + serialized_end=27863, ) _GETDOCUMENTSRESPONSE = _descriptor.Descriptor( @@ -7636,8 +7879,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=23478, - serialized_end=27000, + serialized_start=24352, + serialized_end=27874, ) @@ -7710,8 +7953,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=27129, - serialized_end=27364, + serialized_start=28003, + serialized_end=28238, ) _GETDOCUMENTHISTORYREQUEST = _descriptor.Descriptor( @@ -7746,8 +7989,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=27003, - serialized_end=27375, + serialized_start=27877, + serialized_end=28249, ) @@ -7785,8 +8028,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=27781, - serialized_end=27836, + serialized_start=28655, + serialized_end=28710, ) _GETDOCUMENTHISTORYRESPONSE_GETDOCUMENTHISTORYRESPONSEV0_DOCUMENTHISTORY = _descriptor.Descriptor( @@ -7816,8 +8059,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=27839, - serialized_end=27988, + serialized_start=28713, + serialized_end=28862, ) _GETDOCUMENTHISTORYRESPONSE_GETDOCUMENTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -7866,8 +8109,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=27507, - serialized_end=27998, + serialized_start=28381, + serialized_end=28872, ) _GETDOCUMENTHISTORYRESPONSE = _descriptor.Descriptor( @@ -7902,8 +8145,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=27378, - serialized_end=28009, + serialized_start=28252, + serialized_end=28883, ) @@ -7941,8 +8184,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=28161, - serialized_end=28238, + serialized_start=29035, + serialized_end=29112, ) _GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -7977,8 +8220,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28012, - serialized_end=28249, + serialized_start=28886, + serialized_end=29123, ) @@ -8028,8 +8271,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28405, - serialized_end=28587, + serialized_start=29279, + serialized_end=29461, ) _GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -8064,8 +8307,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28252, - serialized_end=28598, + serialized_start=29126, + serialized_end=29472, ) @@ -8115,8 +8358,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28779, - serialized_end=28907, + serialized_start=29653, + serialized_end=29781, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -8151,8 +8394,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28601, - serialized_end=28918, + serialized_start=29475, + serialized_end=29792, ) @@ -8188,8 +8431,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29531, - serialized_end=29585, + serialized_start=30405, + serialized_end=30459, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE = _descriptor.Descriptor( @@ -8231,8 +8474,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29588, - serialized_end=29754, + serialized_start=30462, + serialized_end=30628, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor( @@ -8281,8 +8524,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29102, - serialized_end=29764, + serialized_start=29976, + serialized_end=30638, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -8317,8 +8560,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28921, - serialized_end=29775, + serialized_start=29795, + serialized_end=30649, ) @@ -8356,8 +8599,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=29933, - serialized_end=30018, + serialized_start=30807, + serialized_end=30892, ) _WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( @@ -8392,8 +8635,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29778, - serialized_end=30029, + serialized_start=30652, + serialized_end=30903, ) @@ -8443,8 +8686,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30191, - serialized_end=30430, + serialized_start=31065, + serialized_end=31304, ) _WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( @@ -8479,8 +8722,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30032, - serialized_end=30441, + serialized_start=30906, + serialized_end=31315, ) @@ -8518,8 +8761,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=30569, - serialized_end=30629, + serialized_start=31443, + serialized_end=31503, ) _GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( @@ -8554,8 +8797,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30444, - serialized_end=30640, + serialized_start=31318, + serialized_end=31514, ) @@ -8600,8 +8843,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=30771, - serialized_end=30851, + serialized_start=31645, + serialized_end=31725, ) _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( @@ -8645,8 +8888,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=30853, - serialized_end=30951, + serialized_start=31727, + serialized_end=31825, ) _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( @@ -8683,8 +8926,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=30954, - serialized_end=31172, + serialized_start=31828, + serialized_end=32046, ) _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( @@ -8719,8 +8962,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30643, - serialized_end=31183, + serialized_start=31517, + serialized_end=32057, ) @@ -8751,8 +8994,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31347, - serialized_end=31403, + serialized_start=32221, + serialized_end=32277, ) _GETPROTOCOLVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor( @@ -8787,8 +9030,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31186, - serialized_end=31414, + serialized_start=32060, + serialized_end=32288, ) @@ -8819,8 +9062,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31879, - serialized_end=32029, + serialized_start=32753, + serialized_end=32903, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor( @@ -8857,8 +9100,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32031, - serialized_end=32089, + serialized_start=32905, + serialized_end=32963, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor( @@ -8907,8 +9150,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31582, - serialized_end=32099, + serialized_start=32456, + serialized_end=32973, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor( @@ -8943,8 +9186,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31417, - serialized_end=32110, + serialized_start=32291, + serialized_end=32984, ) @@ -8989,8 +9232,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32290, - serialized_end=32393, + serialized_start=33164, + serialized_end=33267, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor( @@ -9025,8 +9268,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32113, - serialized_end=32404, + serialized_start=32987, + serialized_end=33278, ) @@ -9057,8 +9300,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32907, - serialized_end=33082, + serialized_start=33781, + serialized_end=33956, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor( @@ -9095,8 +9338,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33084, - serialized_end=33137, + serialized_start=33958, + serialized_end=34011, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor( @@ -9145,8 +9388,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32588, - serialized_end=33147, + serialized_start=33462, + serialized_end=34021, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor( @@ -9181,8 +9424,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32407, - serialized_end=33158, + serialized_start=33281, + serialized_end=34032, ) @@ -9234,8 +9477,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33271, - serialized_end=33395, + serialized_start=34145, + serialized_end=34269, ) _GETEPOCHSINFOREQUEST = _descriptor.Descriptor( @@ -9270,8 +9513,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=33161, - serialized_end=33406, + serialized_start=34035, + serialized_end=34280, ) @@ -9302,8 +9545,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33767, - serialized_end=33884, + serialized_start=34641, + serialized_end=34758, ) _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor( @@ -9368,8 +9611,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33887, - serialized_end=34053, + serialized_start=34761, + serialized_end=34927, ) _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor( @@ -9418,8 +9661,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=33523, - serialized_end=34063, + serialized_start=34397, + serialized_end=34937, ) _GETEPOCHSINFORESPONSE = _descriptor.Descriptor( @@ -9454,8 +9697,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=33409, - serialized_end=34074, + serialized_start=34283, + serialized_end=34948, ) @@ -9514,8 +9757,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34215, - serialized_end=34385, + serialized_start=35089, + serialized_end=35259, ) _GETFINALIZEDEPOCHINFOSREQUEST = _descriptor.Descriptor( @@ -9550,8 +9793,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34077, - serialized_end=34396, + serialized_start=34951, + serialized_end=35270, ) @@ -9582,8 +9825,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34822, - serialized_end=34986, + serialized_start=35696, + serialized_end=35860, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO = _descriptor.Descriptor( @@ -9697,8 +9940,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34989, - serialized_end=35532, + serialized_start=35863, + serialized_end=36406, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER = _descriptor.Descriptor( @@ -9735,8 +9978,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=35534, - serialized_end=35591, + serialized_start=36408, + serialized_end=36465, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -9785,8 +10028,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34540, - serialized_end=35601, + serialized_start=35414, + serialized_end=36475, ) _GETFINALIZEDEPOCHINFOSRESPONSE = _descriptor.Descriptor( @@ -9821,8 +10064,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34399, - serialized_end=35612, + serialized_start=35273, + serialized_end=36486, ) @@ -9860,8 +10103,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=36107, - serialized_end=36176, + serialized_start=36981, + serialized_end=37050, ) _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0 = _descriptor.Descriptor( @@ -9957,8 +10200,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=35750, - serialized_end=36210, + serialized_start=36624, + serialized_end=37084, ) _GETCONTESTEDRESOURCESREQUEST = _descriptor.Descriptor( @@ -9993,8 +10236,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=35615, - serialized_end=36221, + serialized_start=36489, + serialized_end=37095, ) @@ -10025,8 +10268,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=36663, - serialized_end=36723, + serialized_start=37537, + serialized_end=37597, ) _GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0 = _descriptor.Descriptor( @@ -10075,8 +10318,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36362, - serialized_end=36733, + serialized_start=37236, + serialized_end=37607, ) _GETCONTESTEDRESOURCESRESPONSE = _descriptor.Descriptor( @@ -10111,8 +10354,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36224, - serialized_end=36744, + serialized_start=37098, + serialized_end=37618, ) @@ -10150,8 +10393,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=37257, - serialized_end=37330, + serialized_start=38131, + serialized_end=38204, ) _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO = _descriptor.Descriptor( @@ -10188,8 +10431,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=37332, - serialized_end=37399, + serialized_start=38206, + serialized_end=38273, ) _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0 = _descriptor.Descriptor( @@ -10274,8 +10517,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36882, - serialized_end=37458, + serialized_start=37756, + serialized_end=38332, ) _GETVOTEPOLLSBYENDDATEREQUEST = _descriptor.Descriptor( @@ -10310,8 +10553,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36747, - serialized_end=37469, + serialized_start=37621, + serialized_end=38343, ) @@ -10349,8 +10592,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=37918, - serialized_end=38004, + serialized_start=38792, + serialized_end=38878, ) _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS = _descriptor.Descriptor( @@ -10387,8 +10630,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38007, - serialized_end=38222, + serialized_start=38881, + serialized_end=39096, ) _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0 = _descriptor.Descriptor( @@ -10437,8 +10680,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37610, - serialized_end=38232, + serialized_start=38484, + serialized_end=39106, ) _GETVOTEPOLLSBYENDDATERESPONSE = _descriptor.Descriptor( @@ -10473,8 +10716,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37472, - serialized_end=38243, + serialized_start=38346, + serialized_end=39117, ) @@ -10512,8 +10755,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38932, - serialized_end=39016, + serialized_start=39806, + serialized_end=39890, ) _GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0 = _descriptor.Descriptor( @@ -10610,8 +10853,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=38405, - serialized_end=39130, + serialized_start=39279, + serialized_end=40004, ) _GETCONTESTEDRESOURCEVOTESTATEREQUEST = _descriptor.Descriptor( @@ -10646,8 +10889,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=38246, - serialized_end=39141, + serialized_start=39120, + serialized_end=40015, ) @@ -10719,8 +10962,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=39641, - serialized_end=40115, + serialized_start=40515, + serialized_end=40989, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS = _descriptor.Descriptor( @@ -10786,8 +11029,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40118, - serialized_end=40570, + serialized_start=40992, + serialized_end=41444, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER = _descriptor.Descriptor( @@ -10841,8 +11084,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40572, - serialized_end=40679, + serialized_start=41446, + serialized_end=41553, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0 = _descriptor.Descriptor( @@ -10891,8 +11134,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=39306, - serialized_end=40689, + serialized_start=40180, + serialized_end=41563, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE = _descriptor.Descriptor( @@ -10927,8 +11170,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=39144, - serialized_end=40700, + serialized_start=40018, + serialized_end=41574, ) @@ -10966,8 +11209,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38932, - serialized_end=39016, + serialized_start=39806, + serialized_end=39890, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0 = _descriptor.Descriptor( @@ -11063,8 +11306,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40887, - serialized_end=41417, + serialized_start=41761, + serialized_end=42291, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST = _descriptor.Descriptor( @@ -11099,8 +11342,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40703, - serialized_end=41428, + serialized_start=41577, + serialized_end=42302, ) @@ -11138,8 +11381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=41968, - serialized_end=42035, + serialized_start=42842, + serialized_end=42909, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0 = _descriptor.Descriptor( @@ -11188,8 +11431,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=41618, - serialized_end=42045, + serialized_start=42492, + serialized_end=42919, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE = _descriptor.Descriptor( @@ -11224,8 +11467,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=41431, - serialized_end=42056, + serialized_start=42305, + serialized_end=42930, ) @@ -11263,8 +11506,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=42605, - serialized_end=42702, + serialized_start=43479, + serialized_end=43576, ) _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0 = _descriptor.Descriptor( @@ -11334,8 +11577,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42230, - serialized_end=42733, + serialized_start=43104, + serialized_end=43607, ) _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST = _descriptor.Descriptor( @@ -11370,8 +11613,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42059, - serialized_end=42744, + serialized_start=42933, + serialized_end=43618, ) @@ -11409,8 +11652,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=43247, - serialized_end=43494, + serialized_start=44121, + serialized_end=44368, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE = _descriptor.Descriptor( @@ -11453,8 +11696,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=43497, - serialized_end=43798, + serialized_start=44371, + serialized_end=44672, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE = _descriptor.Descriptor( @@ -11505,8 +11748,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=43801, - serialized_end=44078, + serialized_start=44675, + serialized_end=44952, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0 = _descriptor.Descriptor( @@ -11555,8 +11798,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42921, - serialized_end=44088, + serialized_start=43795, + serialized_end=44962, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE = _descriptor.Descriptor( @@ -11591,8 +11834,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42747, - serialized_end=44099, + serialized_start=43621, + serialized_end=44973, ) @@ -11630,8 +11873,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=44263, - serialized_end=44331, + serialized_start=45137, + serialized_end=45205, ) _GETPREFUNDEDSPECIALIZEDBALANCEREQUEST = _descriptor.Descriptor( @@ -11666,8 +11909,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44102, - serialized_end=44342, + serialized_start=44976, + serialized_end=45216, ) @@ -11717,8 +11960,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44510, - serialized_end=44699, + serialized_start=45384, + serialized_end=45573, ) _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE = _descriptor.Descriptor( @@ -11753,8 +11996,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44345, - serialized_end=44710, + serialized_start=45219, + serialized_end=45584, ) @@ -11785,8 +12028,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=44859, - serialized_end=44910, + serialized_start=45733, + serialized_end=45784, ) _GETTOTALCREDITSINPLATFORMREQUEST = _descriptor.Descriptor( @@ -11821,8 +12064,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44713, - serialized_end=44921, + serialized_start=45587, + serialized_end=45795, ) @@ -11872,8 +12115,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45074, - serialized_end=45258, + serialized_start=45948, + serialized_end=46132, ) _GETTOTALCREDITSINPLATFORMRESPONSE = _descriptor.Descriptor( @@ -11908,8 +12151,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44924, - serialized_end=45269, + serialized_start=45798, + serialized_end=46143, ) @@ -11954,8 +12197,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=45388, - serialized_end=45457, + serialized_start=46262, + serialized_end=46331, ) _GETPATHELEMENTSREQUEST = _descriptor.Descriptor( @@ -11990,8 +12233,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45272, - serialized_end=45468, + serialized_start=46146, + serialized_end=46342, ) @@ -12022,8 +12265,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=45841, - serialized_end=45869, + serialized_start=46715, + serialized_end=46743, ) _GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -12072,8 +12315,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45591, - serialized_end=45879, + serialized_start=46465, + serialized_end=46753, ) _GETPATHELEMENTSRESPONSE = _descriptor.Descriptor( @@ -12108,8 +12351,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45471, - serialized_end=45890, + serialized_start=46345, + serialized_end=46764, ) @@ -12133,8 +12376,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=45991, - serialized_end=46011, + serialized_start=46865, + serialized_end=46885, ) _GETSTATUSREQUEST = _descriptor.Descriptor( @@ -12169,8 +12412,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45893, - serialized_end=46022, + serialized_start=46767, + serialized_end=46896, ) @@ -12225,8 +12468,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46899, - serialized_end=46993, + serialized_start=47773, + serialized_end=47867, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH = _descriptor.Descriptor( @@ -12263,8 +12506,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47226, - serialized_end=47266, + serialized_start=48100, + serialized_end=48140, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE = _descriptor.Descriptor( @@ -12308,8 +12551,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47268, - serialized_end=47328, + serialized_start=48142, + serialized_end=48202, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL = _descriptor.Descriptor( @@ -12346,8 +12589,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46996, - serialized_end=47328, + serialized_start=47870, + serialized_end=48202, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION = _descriptor.Descriptor( @@ -12384,8 +12627,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46686, - serialized_end=47328, + serialized_start=47560, + serialized_end=48202, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME = _descriptor.Descriptor( @@ -12451,8 +12694,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=47330, - serialized_end=47457, + serialized_start=48204, + serialized_end=48331, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE = _descriptor.Descriptor( @@ -12494,8 +12737,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=47459, - serialized_end=47519, + serialized_start=48333, + serialized_end=48393, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN = _descriptor.Descriptor( @@ -12586,8 +12829,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=47522, - serialized_end=47829, + serialized_start=48396, + serialized_end=48703, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK = _descriptor.Descriptor( @@ -12631,8 +12874,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47831, - serialized_end=47898, + serialized_start=48705, + serialized_end=48772, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC = _descriptor.Descriptor( @@ -12711,8 +12954,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47901, - serialized_end=48162, + serialized_start=48775, + serialized_end=49036, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 = _descriptor.Descriptor( @@ -12777,8 +13020,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46127, - serialized_end=48162, + serialized_start=47001, + serialized_end=49036, ) _GETSTATUSRESPONSE = _descriptor.Descriptor( @@ -12813,8 +13056,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46025, - serialized_end=48173, + serialized_start=46899, + serialized_end=49047, ) @@ -12838,8 +13081,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48310, - serialized_end=48342, + serialized_start=49184, + serialized_end=49216, ) _GETCURRENTQUORUMSINFOREQUEST = _descriptor.Descriptor( @@ -12874,8 +13117,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=48176, - serialized_end=48353, + serialized_start=49050, + serialized_end=49227, ) @@ -12920,8 +13163,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48493, - serialized_end=48563, + serialized_start=49367, + serialized_end=49437, ) _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0 = _descriptor.Descriptor( @@ -12972,8 +13215,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48566, - serialized_end=48741, + serialized_start=49440, + serialized_end=49615, ) _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0 = _descriptor.Descriptor( @@ -13031,8 +13274,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48744, - serialized_end=49018, + serialized_start=49618, + serialized_end=49892, ) _GETCURRENTQUORUMSINFORESPONSE = _descriptor.Descriptor( @@ -13067,8 +13310,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=48356, - serialized_end=49029, + serialized_start=49230, + serialized_end=49903, ) @@ -13113,8 +13356,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49175, - serialized_end=49265, + serialized_start=50049, + serialized_end=50139, ) _GETIDENTITYTOKENBALANCESREQUEST = _descriptor.Descriptor( @@ -13149,8 +13392,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49032, - serialized_end=49276, + serialized_start=49906, + serialized_end=50150, ) @@ -13193,8 +13436,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49715, - serialized_end=49786, + serialized_start=50589, + serialized_end=50660, ) _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0_TOKENBALANCES = _descriptor.Descriptor( @@ -13224,8 +13467,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49789, - serialized_end=49943, + serialized_start=50663, + serialized_end=50817, ) _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor( @@ -13274,8 +13517,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49426, - serialized_end=49953, + serialized_start=50300, + serialized_end=50827, ) _GETIDENTITYTOKENBALANCESRESPONSE = _descriptor.Descriptor( @@ -13310,8 +13553,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49279, - serialized_end=49964, + serialized_start=50153, + serialized_end=50838, ) @@ -13356,8 +13599,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=50116, - serialized_end=50208, + serialized_start=50990, + serialized_end=51082, ) _GETIDENTITIESTOKENBALANCESREQUEST = _descriptor.Descriptor( @@ -13392,8 +13635,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49967, - serialized_end=50219, + serialized_start=50841, + serialized_end=51093, ) @@ -13436,8 +13679,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50687, - serialized_end=50769, + serialized_start=51561, + serialized_end=51643, ) _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0_IDENTITYTOKENBALANCES = _descriptor.Descriptor( @@ -13467,8 +13710,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=50772, - serialized_end=50955, + serialized_start=51646, + serialized_end=51829, ) _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor( @@ -13517,8 +13760,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50375, - serialized_end=50965, + serialized_start=51249, + serialized_end=51839, ) _GETIDENTITIESTOKENBALANCESRESPONSE = _descriptor.Descriptor( @@ -13553,8 +13796,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50222, - serialized_end=50976, + serialized_start=51096, + serialized_end=51850, ) @@ -13599,8 +13842,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51113, - serialized_end=51200, + serialized_start=51987, + serialized_end=52074, ) _GETIDENTITYTOKENINFOSREQUEST = _descriptor.Descriptor( @@ -13635,8 +13878,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50979, - serialized_end=51211, + serialized_start=51853, + serialized_end=52085, ) @@ -13667,8 +13910,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51625, - serialized_end=51665, + serialized_start=52499, + serialized_end=52539, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor( @@ -13710,8 +13953,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51668, - serialized_end=51844, + serialized_start=52542, + serialized_end=52718, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOS = _descriptor.Descriptor( @@ -13741,8 +13984,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51847, - serialized_end=51985, + serialized_start=52721, + serialized_end=52859, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -13791,8 +14034,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51352, - serialized_end=51995, + serialized_start=52226, + serialized_end=52869, ) _GETIDENTITYTOKENINFOSRESPONSE = _descriptor.Descriptor( @@ -13827,8 +14070,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51214, - serialized_end=52006, + serialized_start=52088, + serialized_end=52880, ) @@ -13873,8 +14116,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=52149, - serialized_end=52238, + serialized_start=53023, + serialized_end=53112, ) _GETIDENTITIESTOKENINFOSREQUEST = _descriptor.Descriptor( @@ -13909,8 +14152,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52009, - serialized_end=52249, + serialized_start=52883, + serialized_end=53123, ) @@ -13941,8 +14184,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51625, - serialized_end=51665, + serialized_start=52499, + serialized_end=52539, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor( @@ -13984,8 +14227,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52736, - serialized_end=52919, + serialized_start=53610, + serialized_end=53793, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_IDENTITYTOKENINFOS = _descriptor.Descriptor( @@ -14015,8 +14258,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=52922, - serialized_end=53073, + serialized_start=53796, + serialized_end=53947, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -14065,8 +14308,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52396, - serialized_end=53083, + serialized_start=53270, + serialized_end=53957, ) _GETIDENTITIESTOKENINFOSRESPONSE = _descriptor.Descriptor( @@ -14101,8 +14344,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52252, - serialized_end=53094, + serialized_start=53126, + serialized_end=53968, ) @@ -14140,8 +14383,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=53216, - serialized_end=53277, + serialized_start=54090, + serialized_end=54151, ) _GETTOKENSTATUSESREQUEST = _descriptor.Descriptor( @@ -14176,8 +14419,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53097, - serialized_end=53288, + serialized_start=53971, + serialized_end=54162, ) @@ -14220,8 +14463,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53678, - serialized_end=53746, + serialized_start=54552, + serialized_end=54620, ) _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0_TOKENSTATUSES = _descriptor.Descriptor( @@ -14251,8 +14494,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=53749, - serialized_end=53885, + serialized_start=54623, + serialized_end=54759, ) _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0 = _descriptor.Descriptor( @@ -14301,8 +14544,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53414, - serialized_end=53895, + serialized_start=54288, + serialized_end=54769, ) _GETTOKENSTATUSESRESPONSE = _descriptor.Descriptor( @@ -14337,8 +14580,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53291, - serialized_end=53906, + serialized_start=54165, + serialized_end=54780, ) @@ -14376,8 +14619,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54064, - serialized_end=54137, + serialized_start=54938, + serialized_end=55011, ) _GETTOKENDIRECTPURCHASEPRICESREQUEST = _descriptor.Descriptor( @@ -14412,8 +14655,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53909, - serialized_end=54148, + serialized_start=54783, + serialized_end=55022, ) @@ -14451,8 +14694,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54638, - serialized_end=54689, + serialized_start=55512, + serialized_end=55563, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICINGSCHEDULE = _descriptor.Descriptor( @@ -14482,8 +14725,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54692, - serialized_end=54859, + serialized_start=55566, + serialized_end=55733, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICEENTRY = _descriptor.Descriptor( @@ -14532,8 +14775,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54862, - serialized_end=55090, + serialized_start=55736, + serialized_end=55964, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICES = _descriptor.Descriptor( @@ -14563,8 +14806,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55093, - serialized_end=55293, + serialized_start=55967, + serialized_end=56167, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0 = _descriptor.Descriptor( @@ -14613,8 +14856,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54310, - serialized_end=55303, + serialized_start=55184, + serialized_end=56177, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE = _descriptor.Descriptor( @@ -14649,8 +14892,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54151, - serialized_end=55314, + serialized_start=55025, + serialized_end=56188, ) @@ -14688,8 +14931,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55448, - serialized_end=55512, + serialized_start=56322, + serialized_end=56386, ) _GETTOKENCONTRACTINFOREQUEST = _descriptor.Descriptor( @@ -14724,8 +14967,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55317, - serialized_end=55523, + serialized_start=56191, + serialized_end=56397, ) @@ -14763,8 +15006,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55935, - serialized_end=56012, + serialized_start=56809, + serialized_end=56886, ) _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0 = _descriptor.Descriptor( @@ -14813,8 +15056,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55661, - serialized_end=56022, + serialized_start=56535, + serialized_end=56896, ) _GETTOKENCONTRACTINFORESPONSE = _descriptor.Descriptor( @@ -14849,8 +15092,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55526, - serialized_end=56033, + serialized_start=56400, + serialized_end=56907, ) @@ -14905,8 +15148,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56466, - serialized_end=56620, + serialized_start=57340, + serialized_end=57494, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0 = _descriptor.Descriptor( @@ -14967,8 +15210,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56210, - serialized_end=56648, + serialized_start=57084, + serialized_end=57522, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST = _descriptor.Descriptor( @@ -15003,8 +15246,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56036, - serialized_end=56659, + serialized_start=56910, + serialized_end=57533, ) @@ -15042,8 +15285,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=57170, - serialized_end=57232, + serialized_start=58044, + serialized_end=58106, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENTIMEDDISTRIBUTIONENTRY = _descriptor.Descriptor( @@ -15080,8 +15323,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=57235, - serialized_end=57447, + serialized_start=58109, + serialized_end=58321, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS = _descriptor.Descriptor( @@ -15111,8 +15354,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=57450, - serialized_end=57645, + serialized_start=58324, + serialized_end=58519, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0 = _descriptor.Descriptor( @@ -15161,8 +15404,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56840, - serialized_end=57655, + serialized_start=57714, + serialized_end=58529, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE = _descriptor.Descriptor( @@ -15197,8 +15440,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56662, - serialized_end=57666, + serialized_start=57536, + serialized_end=58540, ) @@ -15236,8 +15479,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=57855, - serialized_end=57928, + serialized_start=58729, + serialized_end=58802, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0 = _descriptor.Descriptor( @@ -15293,8 +15536,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57931, - serialized_end=58172, + serialized_start=58805, + serialized_end=59046, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST = _descriptor.Descriptor( @@ -15329,8 +15572,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57669, - serialized_end=58183, + serialized_start=58543, + serialized_end=59057, ) @@ -15387,8 +15630,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58704, - serialized_end=58824, + serialized_start=59578, + serialized_end=59698, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0 = _descriptor.Descriptor( @@ -15437,8 +15680,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58376, - serialized_end=58834, + serialized_start=59250, + serialized_end=59708, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE = _descriptor.Descriptor( @@ -15473,8 +15716,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58186, - serialized_end=58845, + serialized_start=59060, + serialized_end=59719, ) @@ -15512,8 +15755,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=58976, - serialized_end=59039, + serialized_start=59850, + serialized_end=59913, ) _GETTOKENTOTALSUPPLYREQUEST = _descriptor.Descriptor( @@ -15548,8 +15791,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58848, - serialized_end=59050, + serialized_start=59722, + serialized_end=59924, ) @@ -15594,8 +15837,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=59471, - serialized_end=59591, + serialized_start=60345, + serialized_end=60465, ) _GETTOKENTOTALSUPPLYRESPONSE_GETTOKENTOTALSUPPLYRESPONSEV0 = _descriptor.Descriptor( @@ -15644,8 +15887,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59185, - serialized_end=59601, + serialized_start=60059, + serialized_end=60475, ) _GETTOKENTOTALSUPPLYRESPONSE = _descriptor.Descriptor( @@ -15680,8 +15923,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59053, - serialized_end=59612, + serialized_start=59927, + serialized_end=60486, ) @@ -15726,8 +15969,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=59722, - serialized_end=59814, + serialized_start=60596, + serialized_end=60688, ) _GETGROUPINFOREQUEST = _descriptor.Descriptor( @@ -15762,8 +16005,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59615, - serialized_end=59825, + serialized_start=60489, + serialized_end=60699, ) @@ -15801,8 +16044,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60183, - serialized_end=60235, + serialized_start=61057, + serialized_end=61109, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFOENTRY = _descriptor.Descriptor( @@ -15839,8 +16082,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60238, - serialized_end=60390, + serialized_start=61112, + serialized_end=61264, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFO = _descriptor.Descriptor( @@ -15875,8 +16118,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60393, - serialized_end=60531, + serialized_start=61267, + serialized_end=61405, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0 = _descriptor.Descriptor( @@ -15925,8 +16168,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59939, - serialized_end=60541, + serialized_start=60813, + serialized_end=61415, ) _GETGROUPINFORESPONSE = _descriptor.Descriptor( @@ -15961,8 +16204,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59828, - serialized_end=60552, + serialized_start=60702, + serialized_end=61426, ) @@ -16000,8 +16243,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60665, - serialized_end=60782, + serialized_start=61539, + serialized_end=61656, ) _GETGROUPINFOSREQUEST_GETGROUPINFOSREQUESTV0 = _descriptor.Descriptor( @@ -16062,8 +16305,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60785, - serialized_end=61037, + serialized_start=61659, + serialized_end=61911, ) _GETGROUPINFOSREQUEST = _descriptor.Descriptor( @@ -16098,8 +16341,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60555, - serialized_end=61048, + serialized_start=61429, + serialized_end=61922, ) @@ -16137,8 +16380,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60183, - serialized_end=60235, + serialized_start=61057, + serialized_end=61109, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPPOSITIONINFOENTRY = _descriptor.Descriptor( @@ -16182,8 +16425,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61469, - serialized_end=61664, + serialized_start=62343, + serialized_end=62538, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPINFOS = _descriptor.Descriptor( @@ -16213,8 +16456,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61667, - serialized_end=61797, + serialized_start=62541, + serialized_end=62671, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -16263,8 +16506,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61165, - serialized_end=61807, + serialized_start=62039, + serialized_end=62681, ) _GETGROUPINFOSRESPONSE = _descriptor.Descriptor( @@ -16299,8 +16542,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61051, - serialized_end=61818, + serialized_start=61925, + serialized_end=62692, ) @@ -16338,8 +16581,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61937, - serialized_end=62013, + serialized_start=62811, + serialized_end=62887, ) _GETGROUPACTIONSREQUEST_GETGROUPACTIONSREQUESTV0 = _descriptor.Descriptor( @@ -16414,8 +16657,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62016, - serialized_end=62344, + serialized_start=62890, + serialized_end=63218, ) _GETGROUPACTIONSREQUEST = _descriptor.Descriptor( @@ -16451,8 +16694,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61821, - serialized_end=62395, + serialized_start=62695, + serialized_end=63269, ) @@ -16502,8 +16745,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62777, - serialized_end=62868, + serialized_start=63651, + serialized_end=63742, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_BURNEVENT = _descriptor.Descriptor( @@ -16552,8 +16795,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62870, - serialized_end=62961, + serialized_start=63744, + serialized_end=63835, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_FREEZEEVENT = _descriptor.Descriptor( @@ -16595,8 +16838,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62963, - serialized_end=63037, + serialized_start=63837, + serialized_end=63911, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UNFREEZEEVENT = _descriptor.Descriptor( @@ -16638,8 +16881,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63039, - serialized_end=63115, + serialized_start=63913, + serialized_end=63989, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DESTROYFROZENFUNDSEVENT = _descriptor.Descriptor( @@ -16688,8 +16931,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63117, - serialized_end=63219, + serialized_start=63991, + serialized_end=64093, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_SHAREDENCRYPTEDNOTE = _descriptor.Descriptor( @@ -16733,8 +16976,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=63221, - serialized_end=63321, + serialized_start=64095, + serialized_end=64195, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_PERSONALENCRYPTEDNOTE = _descriptor.Descriptor( @@ -16778,8 +17021,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=63323, - serialized_end=63446, + serialized_start=64197, + serialized_end=64320, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT = _descriptor.Descriptor( @@ -16822,8 +17065,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63449, - serialized_end=63682, + serialized_start=64323, + serialized_end=64556, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENCONFIGUPDATEEVENT = _descriptor.Descriptor( @@ -16865,8 +17108,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63684, - serialized_end=63784, + serialized_start=64558, + serialized_end=64658, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICEFORQUANTITY = _descriptor.Descriptor( @@ -16903,8 +17146,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54638, - serialized_end=54689, + serialized_start=55512, + serialized_end=55563, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICINGSCHEDULE = _descriptor.Descriptor( @@ -16934,8 +17177,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64076, - serialized_end=64248, + serialized_start=64950, + serialized_end=65122, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT = _descriptor.Descriptor( @@ -16989,8 +17232,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63787, - serialized_end=64273, + serialized_start=64661, + serialized_end=65147, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONEVENT = _descriptor.Descriptor( @@ -17039,8 +17282,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64276, - serialized_end=64656, + serialized_start=65150, + serialized_end=65530, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTEVENT = _descriptor.Descriptor( @@ -17075,8 +17318,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64659, - serialized_end=64798, + serialized_start=65533, + serialized_end=65672, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTCREATEEVENT = _descriptor.Descriptor( @@ -17106,8 +17349,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64800, - serialized_end=64847, + serialized_start=65674, + serialized_end=65721, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTUPDATEEVENT = _descriptor.Descriptor( @@ -17137,8 +17380,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64849, - serialized_end=64896, + serialized_start=65723, + serialized_end=65770, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTEVENT = _descriptor.Descriptor( @@ -17173,8 +17416,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64899, - serialized_end=65038, + serialized_start=65773, + serialized_end=65912, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENEVENT = _descriptor.Descriptor( @@ -17258,8 +17501,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=65041, - serialized_end=66018, + serialized_start=65915, + serialized_end=66892, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONENTRY = _descriptor.Descriptor( @@ -17296,8 +17539,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=66021, - serialized_end=66168, + serialized_start=66895, + serialized_end=67042, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONS = _descriptor.Descriptor( @@ -17327,8 +17570,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=66171, - serialized_end=66303, + serialized_start=67045, + serialized_end=67177, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0 = _descriptor.Descriptor( @@ -17377,8 +17620,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62518, - serialized_end=66313, + serialized_start=63392, + serialized_end=67187, ) _GETGROUPACTIONSRESPONSE = _descriptor.Descriptor( @@ -17413,8 +17656,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62398, - serialized_end=66324, + serialized_start=63272, + serialized_end=67198, ) @@ -17473,8 +17716,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=66462, - serialized_end=66668, + serialized_start=67336, + serialized_end=67542, ) _GETGROUPACTIONSIGNERSREQUEST = _descriptor.Descriptor( @@ -17510,8 +17753,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=66327, - serialized_end=66719, + serialized_start=67201, + serialized_end=67593, ) @@ -17549,8 +17792,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67151, - serialized_end=67204, + serialized_start=68025, + serialized_end=68078, ) _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0_GROUPACTIONSIGNERS = _descriptor.Descriptor( @@ -17580,8 +17823,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67207, - serialized_end=67352, + serialized_start=68081, + serialized_end=68226, ) _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0 = _descriptor.Descriptor( @@ -17630,8 +17873,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=66860, - serialized_end=67362, + serialized_start=67734, + serialized_end=68236, ) _GETGROUPACTIONSIGNERSRESPONSE = _descriptor.Descriptor( @@ -17666,8 +17909,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=66722, - serialized_end=67373, + serialized_start=67596, + serialized_end=68247, ) @@ -17705,8 +17948,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67489, - serialized_end=67546, + serialized_start=68363, + serialized_end=68420, ) _GETADDRESSINFOREQUEST = _descriptor.Descriptor( @@ -17741,8 +17984,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67376, - serialized_end=67557, + serialized_start=68250, + serialized_end=68431, ) @@ -17785,8 +18028,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67560, - serialized_end=67693, + serialized_start=68434, + serialized_end=68567, ) @@ -17824,8 +18067,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67695, - serialized_end=67744, + serialized_start=68569, + serialized_end=68618, ) @@ -17856,8 +18099,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67746, - serialized_end=67841, + serialized_start=68620, + serialized_end=68715, ) @@ -17907,8 +18150,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67843, - serialized_end=67952, + serialized_start=68717, + serialized_end=68826, ) @@ -17946,8 +18189,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67954, - serialized_end=68074, + serialized_start=68828, + serialized_end=68948, ) @@ -17978,8 +18221,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68076, - serialized_end=68183, + serialized_start=68950, + serialized_end=69057, ) @@ -18029,8 +18272,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68303, - serialized_end=68528, + serialized_start=69177, + serialized_end=69402, ) _GETADDRESSINFORESPONSE = _descriptor.Descriptor( @@ -18065,8 +18308,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68186, - serialized_end=68539, + serialized_start=69060, + serialized_end=69413, ) @@ -18104,8 +18347,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68664, - serialized_end=68726, + serialized_start=69538, + serialized_end=69600, ) _GETADDRESSESINFOSREQUEST = _descriptor.Descriptor( @@ -18140,8 +18383,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68542, - serialized_end=68737, + serialized_start=69416, + serialized_end=69611, ) @@ -18191,8 +18434,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68866, - serialized_end=69098, + serialized_start=69740, + serialized_end=69972, ) _GETADDRESSESINFOSRESPONSE = _descriptor.Descriptor( @@ -18227,8 +18470,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68740, - serialized_end=69109, + serialized_start=69614, + serialized_end=69983, ) @@ -18252,8 +18495,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=69249, - serialized_end=69282, + serialized_start=70123, + serialized_end=70156, ) _GETADDRESSESTRUNKSTATEREQUEST = _descriptor.Descriptor( @@ -18288,8 +18531,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69112, - serialized_end=69293, + serialized_start=69986, + serialized_end=70167, ) @@ -18327,8 +18570,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=69437, - serialized_end=69583, + serialized_start=70311, + serialized_end=70457, ) _GETADDRESSESTRUNKSTATERESPONSE = _descriptor.Descriptor( @@ -18363,8 +18606,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69296, - serialized_end=69594, + serialized_start=70170, + serialized_end=70468, ) @@ -18409,8 +18652,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=69737, - serialized_end=69826, + serialized_start=70611, + serialized_end=70700, ) _GETADDRESSESBRANCHSTATEREQUEST = _descriptor.Descriptor( @@ -18445,8 +18688,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69597, - serialized_end=69837, + serialized_start=70471, + serialized_end=70711, ) @@ -18477,8 +18720,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=69983, - serialized_end=70038, + serialized_start=70857, + serialized_end=70912, ) _GETADDRESSESBRANCHSTATERESPONSE = _descriptor.Descriptor( @@ -18513,8 +18756,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69840, - serialized_end=70049, + serialized_start=70714, + serialized_end=70923, ) @@ -18559,8 +18802,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70213, - serialized_end=70327, + serialized_start=71087, + serialized_end=71201, ) _GETRECENTADDRESSBALANCECHANGESREQUEST = _descriptor.Descriptor( @@ -18595,8 +18838,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70052, - serialized_end=70338, + serialized_start=70926, + serialized_end=71212, ) @@ -18646,8 +18889,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70506, - serialized_end=70770, + serialized_start=71380, + serialized_end=71644, ) _GETRECENTADDRESSBALANCECHANGESRESPONSE = _descriptor.Descriptor( @@ -18682,8 +18925,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70341, - serialized_end=70781, + serialized_start=71215, + serialized_end=71655, ) @@ -18721,8 +18964,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70783, - serialized_end=70854, + serialized_start=71657, + serialized_end=71728, ) @@ -18772,8 +19015,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70857, - serialized_end=71033, + serialized_start=71731, + serialized_end=71907, ) @@ -18804,8 +19047,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71035, - serialized_end=71127, + serialized_start=71909, + serialized_end=72001, ) @@ -18850,8 +19093,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71130, - serialized_end=71304, + serialized_start=72004, + serialized_end=72178, ) @@ -18882,8 +19125,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71307, - serialized_end=71442, + serialized_start=72181, + serialized_end=72316, ) @@ -18921,8 +19164,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71634, - serialized_end=71731, + serialized_start=72508, + serialized_end=72605, ) _GETRECENTCOMPACTEDADDRESSBALANCECHANGESREQUEST = _descriptor.Descriptor( @@ -18957,8 +19200,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71445, - serialized_end=71742, + serialized_start=72319, + serialized_end=72616, ) @@ -19008,8 +19251,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71938, - serialized_end=72230, + serialized_start=72812, + serialized_end=73104, ) _GETRECENTCOMPACTEDADDRESSBALANCECHANGESRESPONSE = _descriptor.Descriptor( @@ -19044,8 +19287,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71745, - serialized_end=72241, + serialized_start=72619, + serialized_end=73115, ) @@ -19090,8 +19333,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=72390, - serialized_end=72477, + serialized_start=73264, + serialized_end=73351, ) _GETSHIELDEDENCRYPTEDNOTESREQUEST = _descriptor.Descriptor( @@ -19126,8 +19369,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72244, - serialized_end=72488, + serialized_start=73118, + serialized_end=73362, ) @@ -19179,8 +19422,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=72935, - serialized_end=73022, + serialized_start=73809, + serialized_end=73896, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE_GETSHIELDEDENCRYPTEDNOTESRESPONSEV0_ENCRYPTEDNOTES = _descriptor.Descriptor( @@ -19210,8 +19453,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73025, - serialized_end=73170, + serialized_start=73899, + serialized_end=74044, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE_GETSHIELDEDENCRYPTEDNOTESRESPONSEV0 = _descriptor.Descriptor( @@ -19260,8 +19503,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72641, - serialized_end=73180, + serialized_start=73515, + serialized_end=74054, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE = _descriptor.Descriptor( @@ -19296,8 +19539,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72491, - serialized_end=73191, + serialized_start=73365, + serialized_end=74065, ) @@ -19328,8 +19571,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73319, - serialized_end=73363, + serialized_start=74193, + serialized_end=74237, ) _GETSHIELDEDANCHORSREQUEST = _descriptor.Descriptor( @@ -19364,8 +19607,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73194, - serialized_end=73374, + serialized_start=74068, + serialized_end=74248, ) @@ -19396,8 +19639,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73763, - serialized_end=73789, + serialized_start=74637, + serialized_end=74663, ) _GETSHIELDEDANCHORSRESPONSE_GETSHIELDEDANCHORSRESPONSEV0 = _descriptor.Descriptor( @@ -19446,8 +19689,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73506, - serialized_end=73799, + serialized_start=74380, + serialized_end=74673, ) _GETSHIELDEDANCHORSRESPONSE = _descriptor.Descriptor( @@ -19482,8 +19725,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73377, - serialized_end=73810, + serialized_start=74251, + serialized_end=74684, ) @@ -19514,8 +19757,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73965, - serialized_end=74018, + serialized_start=74839, + serialized_end=74892, ) _GETMOSTRECENTSHIELDEDANCHORREQUEST = _descriptor.Descriptor( @@ -19550,8 +19793,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73813, - serialized_end=74029, + serialized_start=74687, + serialized_end=74903, ) @@ -19601,8 +19844,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74188, - serialized_end=74369, + serialized_start=75062, + serialized_end=75243, ) _GETMOSTRECENTSHIELDEDANCHORRESPONSE = _descriptor.Descriptor( @@ -19637,8 +19880,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74032, - serialized_end=74380, + serialized_start=74906, + serialized_end=75254, ) @@ -19669,8 +19912,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=74514, - serialized_end=74560, + serialized_start=75388, + serialized_end=75434, ) _GETSHIELDEDPOOLSTATEREQUEST = _descriptor.Descriptor( @@ -19705,8 +19948,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74383, - serialized_end=74571, + serialized_start=75257, + serialized_end=75445, ) @@ -19756,8 +19999,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74709, - serialized_end=74894, + serialized_start=75583, + serialized_end=75768, ) _GETSHIELDEDPOOLSTATERESPONSE = _descriptor.Descriptor( @@ -19792,8 +20035,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74574, - serialized_end=74905, + serialized_start=75448, + serialized_end=75779, ) @@ -19824,8 +20067,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=75042, - serialized_end=75089, + serialized_start=75916, + serialized_end=75963, ) _GETSHIELDEDNOTESCOUNTREQUEST = _descriptor.Descriptor( @@ -19860,8 +20103,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74908, - serialized_end=75100, + serialized_start=75782, + serialized_end=75974, ) @@ -19911,8 +20154,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75241, - serialized_end=75431, + serialized_start=76115, + serialized_end=76305, ) _GETSHIELDEDNOTESCOUNTRESPONSE = _descriptor.Descriptor( @@ -19947,8 +20190,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75103, - serialized_end=75442, + serialized_start=75977, + serialized_end=76316, ) @@ -19986,8 +20229,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=75579, - serialized_end=75646, + serialized_start=76453, + serialized_end=76520, ) _GETSHIELDEDNULLIFIERSREQUEST = _descriptor.Descriptor( @@ -20022,8 +20265,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75445, - serialized_end=75657, + serialized_start=76319, + serialized_end=76531, ) @@ -20061,8 +20304,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=76086, - serialized_end=76140, + serialized_start=76960, + serialized_end=77014, ) _GETSHIELDEDNULLIFIERSRESPONSE_GETSHIELDEDNULLIFIERSRESPONSEV0_NULLIFIERSTATUSES = _descriptor.Descriptor( @@ -20092,8 +20335,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=76143, - serialized_end=76285, + serialized_start=77017, + serialized_end=77159, ) _GETSHIELDEDNULLIFIERSRESPONSE_GETSHIELDEDNULLIFIERSRESPONSEV0 = _descriptor.Descriptor( @@ -20142,8 +20385,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75798, - serialized_end=76295, + serialized_start=76672, + serialized_end=77169, ) _GETSHIELDEDNULLIFIERSRESPONSE = _descriptor.Descriptor( @@ -20178,8 +20421,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75660, - serialized_end=76306, + serialized_start=76534, + serialized_end=77180, ) _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST @@ -20642,6 +20885,32 @@ _GETCONTRACTMODERATIONENTRIESRESPONSE.oneofs_by_name['version'].fields.append( _GETCONTRACTMODERATIONENTRIESRESPONSE.fields_by_name['v0']) _GETCONTRACTMODERATIONENTRIESRESPONSE.fields_by_name['v0'].containing_oneof = _GETCONTRACTMODERATIONENTRIESRESPONSE.oneofs_by_name['version'] +_GETCONTRACTFEEPOTSREQUEST_GETCONTRACTFEEPOTSREQUESTV0.containing_type = _GETCONTRACTFEEPOTSREQUEST +_GETCONTRACTFEEPOTSREQUEST.fields_by_name['v0'].message_type = _GETCONTRACTFEEPOTSREQUEST_GETCONTRACTFEEPOTSREQUESTV0 +_GETCONTRACTFEEPOTSREQUEST.oneofs_by_name['version'].fields.append( + _GETCONTRACTFEEPOTSREQUEST.fields_by_name['v0']) +_GETCONTRACTFEEPOTSREQUEST.fields_by_name['v0'].containing_oneof = _GETCONTRACTFEEPOTSREQUEST.oneofs_by_name['version'] +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.containing_type = _GETCONTRACTFEEPOTSRESPONSE +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.oneofs_by_name['_last_claim_epoch'].fields.append( + _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['last_claim_epoch']) +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['last_claim_epoch'].containing_oneof = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.oneofs_by_name['_last_claim_epoch'] +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.fields_by_name['owner'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.fields_by_name['moderators'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.containing_type = _GETCONTRACTFEEPOTSRESPONSE +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['pots'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.containing_type = _GETCONTRACTFEEPOTSRESPONSE +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['pots']) +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['pots'].containing_oneof = _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.oneofs_by_name['result'] +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.oneofs_by_name['result'].fields.append( + _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['proof']) +_GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0.oneofs_by_name['result'] +_GETCONTRACTFEEPOTSRESPONSE.fields_by_name['v0'].message_type = _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0 +_GETCONTRACTFEEPOTSRESPONSE.oneofs_by_name['version'].fields.append( + _GETCONTRACTFEEPOTSRESPONSE.fields_by_name['v0']) +_GETCONTRACTFEEPOTSRESPONSE.fields_by_name['v0'].containing_oneof = _GETCONTRACTFEEPOTSRESPONSE.oneofs_by_name['version'] _GETCONTRACTGROUPSFORCONTRACTREQUEST_GETCONTRACTGROUPSFORCONTRACTREQUESTV0.containing_type = _GETCONTRACTGROUPSFORCONTRACTREQUEST _GETCONTRACTGROUPSFORCONTRACTREQUEST.fields_by_name['v0'].message_type = _GETCONTRACTGROUPSFORCONTRACTREQUEST_GETCONTRACTGROUPSFORCONTRACTREQUESTV0 _GETCONTRACTGROUPSFORCONTRACTREQUEST.oneofs_by_name['version'].fields.append( @@ -22252,6 +22521,8 @@ DESCRIPTOR.message_types_by_name['GetContractModerationStatusResponse'] = _GETCONTRACTMODERATIONSTATUSRESPONSE DESCRIPTOR.message_types_by_name['GetContractModerationEntriesRequest'] = _GETCONTRACTMODERATIONENTRIESREQUEST DESCRIPTOR.message_types_by_name['GetContractModerationEntriesResponse'] = _GETCONTRACTMODERATIONENTRIESRESPONSE +DESCRIPTOR.message_types_by_name['GetContractFeePotsRequest'] = _GETCONTRACTFEEPOTSREQUEST +DESCRIPTOR.message_types_by_name['GetContractFeePotsResponse'] = _GETCONTRACTFEEPOTSRESPONSE DESCRIPTOR.message_types_by_name['GetContractGroupsForContractRequest'] = _GETCONTRACTGROUPSFORCONTRACTREQUEST DESCRIPTOR.message_types_by_name['GetContractGroupsForContractResponse'] = _GETCONTRACTGROUPSFORCONTRACTRESPONSE DESCRIPTOR.message_types_by_name['GetDataContractsRequest'] = _GETDATACONTRACTSREQUEST @@ -23152,6 +23423,52 @@ _sym_db.RegisterMessage(GetContractModerationEntriesResponse.ContractModerationEntries) _sym_db.RegisterMessage(GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0) +GetContractFeePotsRequest = _reflection.GeneratedProtocolMessageType('GetContractFeePotsRequest', (_message.Message,), { + + 'GetContractFeePotsRequestV0' : _reflection.GeneratedProtocolMessageType('GetContractFeePotsRequestV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSREQUEST_GETCONTRACTFEEPOTSREQUESTV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0) + }) + , + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSREQUEST, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsRequest) + }) +_sym_db.RegisterMessage(GetContractFeePotsRequest) +_sym_db.RegisterMessage(GetContractFeePotsRequest.GetContractFeePotsRequestV0) + +GetContractFeePotsResponse = _reflection.GeneratedProtocolMessageType('GetContractFeePotsResponse', (_message.Message,), { + + 'ContractFeePot' : _reflection.GeneratedProtocolMessageType('ContractFeePot', (_message.Message,), { + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot) + }) + , + + 'ContractFeePots' : _reflection.GeneratedProtocolMessageType('ContractFeePots', (_message.Message,), { + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots) + }) + , + + 'GetContractFeePotsResponseV0' : _reflection.GeneratedProtocolMessageType('GetContractFeePotsResponseV0', (_message.Message,), { + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0) + }) + , + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse) + }) +_sym_db.RegisterMessage(GetContractFeePotsResponse) +_sym_db.RegisterMessage(GetContractFeePotsResponse.ContractFeePot) +_sym_db.RegisterMessage(GetContractFeePotsResponse.ContractFeePots) +_sym_db.RegisterMessage(GetContractFeePotsResponse.GetContractFeePotsResponseV0) + GetContractGroupsForContractRequest = _reflection.GeneratedProtocolMessageType('GetContractGroupsForContractRequest', (_message.Message,), { 'GetContractGroupsForContractRequestV0' : _reflection.GeneratedProtocolMessageType('GetContractGroupsForContractRequestV0', (_message.Message,), { @@ -25863,6 +26180,7 @@ _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS.fields_by_name['count']._options = None _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.fields_by_name['balance']._options = None +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['credits']._options = None _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['start_at_ms']._options = None _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.fields_by_name['date']._options = None _GETDOCUMENTSREQUEST_DOCUMENTFIELDVALUE.fields_by_name['int64_value']._options = None @@ -25935,8 +26253,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=76550, - serialized_end=86579, + serialized_start=77424, + serialized_end=87585, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', @@ -26158,10 +26476,20 @@ serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='getContractFeePots', + full_name='org.dash.platform.dapi.v0.Platform.getContractFeePots', + index=22, + containing_service=None, + input_type=_GETCONTRACTFEEPOTSREQUEST, + output_type=_GETCONTRACTFEEPOTSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), _descriptor.MethodDescriptor( name='getDocumentHistory', full_name='org.dash.platform.dapi.v0.Platform.getDocumentHistory', - index=22, + index=23, containing_service=None, input_type=_GETDOCUMENTHISTORYREQUEST, output_type=_GETDOCUMENTHISTORYRESPONSE, @@ -26171,7 +26499,7 @@ _descriptor.MethodDescriptor( name='getDocuments', full_name='org.dash.platform.dapi.v0.Platform.getDocuments', - index=23, + index=24, containing_service=None, input_type=_GETDOCUMENTSREQUEST, output_type=_GETDOCUMENTSRESPONSE, @@ -26181,7 +26509,7 @@ _descriptor.MethodDescriptor( name='getIdentityByPublicKeyHash', full_name='org.dash.platform.dapi.v0.Platform.getIdentityByPublicKeyHash', - index=24, + index=25, containing_service=None, input_type=_GETIDENTITYBYPUBLICKEYHASHREQUEST, output_type=_GETIDENTITYBYPUBLICKEYHASHRESPONSE, @@ -26191,7 +26519,7 @@ _descriptor.MethodDescriptor( name='getIdentityByNonUniquePublicKeyHash', full_name='org.dash.platform.dapi.v0.Platform.getIdentityByNonUniquePublicKeyHash', - index=25, + index=26, containing_service=None, input_type=_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST, output_type=_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE, @@ -26201,7 +26529,7 @@ _descriptor.MethodDescriptor( name='waitForStateTransitionResult', full_name='org.dash.platform.dapi.v0.Platform.waitForStateTransitionResult', - index=26, + index=27, containing_service=None, input_type=_WAITFORSTATETRANSITIONRESULTREQUEST, output_type=_WAITFORSTATETRANSITIONRESULTRESPONSE, @@ -26211,7 +26539,7 @@ _descriptor.MethodDescriptor( name='getConsensusParams', full_name='org.dash.platform.dapi.v0.Platform.getConsensusParams', - index=27, + index=28, containing_service=None, input_type=_GETCONSENSUSPARAMSREQUEST, output_type=_GETCONSENSUSPARAMSRESPONSE, @@ -26221,7 +26549,7 @@ _descriptor.MethodDescriptor( name='getProtocolVersionUpgradeState', full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeState', - index=28, + index=29, containing_service=None, input_type=_GETPROTOCOLVERSIONUPGRADESTATEREQUEST, output_type=_GETPROTOCOLVERSIONUPGRADESTATERESPONSE, @@ -26231,7 +26559,7 @@ _descriptor.MethodDescriptor( name='getProtocolVersionUpgradeVoteStatus', full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeVoteStatus', - index=29, + index=30, containing_service=None, input_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST, output_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE, @@ -26241,7 +26569,7 @@ _descriptor.MethodDescriptor( name='getEpochsInfo', full_name='org.dash.platform.dapi.v0.Platform.getEpochsInfo', - index=30, + index=31, containing_service=None, input_type=_GETEPOCHSINFOREQUEST, output_type=_GETEPOCHSINFORESPONSE, @@ -26251,7 +26579,7 @@ _descriptor.MethodDescriptor( name='getFinalizedEpochInfos', full_name='org.dash.platform.dapi.v0.Platform.getFinalizedEpochInfos', - index=31, + index=32, containing_service=None, input_type=_GETFINALIZEDEPOCHINFOSREQUEST, output_type=_GETFINALIZEDEPOCHINFOSRESPONSE, @@ -26261,7 +26589,7 @@ _descriptor.MethodDescriptor( name='getContestedResources', full_name='org.dash.platform.dapi.v0.Platform.getContestedResources', - index=32, + index=33, containing_service=None, input_type=_GETCONTESTEDRESOURCESREQUEST, output_type=_GETCONTESTEDRESOURCESRESPONSE, @@ -26271,7 +26599,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceVoteState', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVoteState', - index=33, + index=34, containing_service=None, input_type=_GETCONTESTEDRESOURCEVOTESTATEREQUEST, output_type=_GETCONTESTEDRESOURCEVOTESTATERESPONSE, @@ -26281,7 +26609,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceVotersForIdentity', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVotersForIdentity', - index=34, + index=35, containing_service=None, input_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST, output_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE, @@ -26291,7 +26619,7 @@ _descriptor.MethodDescriptor( name='getContestedResourceIdentityVotes', full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceIdentityVotes', - index=35, + index=36, containing_service=None, input_type=_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST, output_type=_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE, @@ -26301,7 +26629,7 @@ _descriptor.MethodDescriptor( name='getVotePollsByEndDate', full_name='org.dash.platform.dapi.v0.Platform.getVotePollsByEndDate', - index=36, + index=37, containing_service=None, input_type=_GETVOTEPOLLSBYENDDATEREQUEST, output_type=_GETVOTEPOLLSBYENDDATERESPONSE, @@ -26311,7 +26639,7 @@ _descriptor.MethodDescriptor( name='getPrefundedSpecializedBalance', full_name='org.dash.platform.dapi.v0.Platform.getPrefundedSpecializedBalance', - index=37, + index=38, containing_service=None, input_type=_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST, output_type=_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE, @@ -26321,7 +26649,7 @@ _descriptor.MethodDescriptor( name='getTotalCreditsInPlatform', full_name='org.dash.platform.dapi.v0.Platform.getTotalCreditsInPlatform', - index=38, + index=39, containing_service=None, input_type=_GETTOTALCREDITSINPLATFORMREQUEST, output_type=_GETTOTALCREDITSINPLATFORMRESPONSE, @@ -26331,7 +26659,7 @@ _descriptor.MethodDescriptor( name='getPathElements', full_name='org.dash.platform.dapi.v0.Platform.getPathElements', - index=39, + index=40, containing_service=None, input_type=_GETPATHELEMENTSREQUEST, output_type=_GETPATHELEMENTSRESPONSE, @@ -26341,7 +26669,7 @@ _descriptor.MethodDescriptor( name='getStatus', full_name='org.dash.platform.dapi.v0.Platform.getStatus', - index=40, + index=41, containing_service=None, input_type=_GETSTATUSREQUEST, output_type=_GETSTATUSRESPONSE, @@ -26351,7 +26679,7 @@ _descriptor.MethodDescriptor( name='getCurrentQuorumsInfo', full_name='org.dash.platform.dapi.v0.Platform.getCurrentQuorumsInfo', - index=41, + index=42, containing_service=None, input_type=_GETCURRENTQUORUMSINFOREQUEST, output_type=_GETCURRENTQUORUMSINFORESPONSE, @@ -26361,7 +26689,7 @@ _descriptor.MethodDescriptor( name='getIdentityTokenBalances', full_name='org.dash.platform.dapi.v0.Platform.getIdentityTokenBalances', - index=42, + index=43, containing_service=None, input_type=_GETIDENTITYTOKENBALANCESREQUEST, output_type=_GETIDENTITYTOKENBALANCESRESPONSE, @@ -26371,7 +26699,7 @@ _descriptor.MethodDescriptor( name='getIdentitiesTokenBalances', full_name='org.dash.platform.dapi.v0.Platform.getIdentitiesTokenBalances', - index=43, + index=44, containing_service=None, input_type=_GETIDENTITIESTOKENBALANCESREQUEST, output_type=_GETIDENTITIESTOKENBALANCESRESPONSE, @@ -26381,7 +26709,7 @@ _descriptor.MethodDescriptor( name='getIdentityTokenInfos', full_name='org.dash.platform.dapi.v0.Platform.getIdentityTokenInfos', - index=44, + index=45, containing_service=None, input_type=_GETIDENTITYTOKENINFOSREQUEST, output_type=_GETIDENTITYTOKENINFOSRESPONSE, @@ -26391,7 +26719,7 @@ _descriptor.MethodDescriptor( name='getIdentitiesTokenInfos', full_name='org.dash.platform.dapi.v0.Platform.getIdentitiesTokenInfos', - index=45, + index=46, containing_service=None, input_type=_GETIDENTITIESTOKENINFOSREQUEST, output_type=_GETIDENTITIESTOKENINFOSRESPONSE, @@ -26401,7 +26729,7 @@ _descriptor.MethodDescriptor( name='getTokenStatuses', full_name='org.dash.platform.dapi.v0.Platform.getTokenStatuses', - index=46, + index=47, containing_service=None, input_type=_GETTOKENSTATUSESREQUEST, output_type=_GETTOKENSTATUSESRESPONSE, @@ -26411,7 +26739,7 @@ _descriptor.MethodDescriptor( name='getTokenDirectPurchasePrices', full_name='org.dash.platform.dapi.v0.Platform.getTokenDirectPurchasePrices', - index=47, + index=48, containing_service=None, input_type=_GETTOKENDIRECTPURCHASEPRICESREQUEST, output_type=_GETTOKENDIRECTPURCHASEPRICESRESPONSE, @@ -26421,7 +26749,7 @@ _descriptor.MethodDescriptor( name='getTokenContractInfo', full_name='org.dash.platform.dapi.v0.Platform.getTokenContractInfo', - index=48, + index=49, containing_service=None, input_type=_GETTOKENCONTRACTINFOREQUEST, output_type=_GETTOKENCONTRACTINFORESPONSE, @@ -26431,7 +26759,7 @@ _descriptor.MethodDescriptor( name='getTokenPreProgrammedDistributions', full_name='org.dash.platform.dapi.v0.Platform.getTokenPreProgrammedDistributions', - index=49, + index=50, containing_service=None, input_type=_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST, output_type=_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE, @@ -26441,7 +26769,7 @@ _descriptor.MethodDescriptor( name='getTokenPerpetualDistributionLastClaim', full_name='org.dash.platform.dapi.v0.Platform.getTokenPerpetualDistributionLastClaim', - index=50, + index=51, containing_service=None, input_type=_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST, output_type=_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE, @@ -26451,7 +26779,7 @@ _descriptor.MethodDescriptor( name='getTokenTotalSupply', full_name='org.dash.platform.dapi.v0.Platform.getTokenTotalSupply', - index=51, + index=52, containing_service=None, input_type=_GETTOKENTOTALSUPPLYREQUEST, output_type=_GETTOKENTOTALSUPPLYRESPONSE, @@ -26461,7 +26789,7 @@ _descriptor.MethodDescriptor( name='getGroupInfo', full_name='org.dash.platform.dapi.v0.Platform.getGroupInfo', - index=52, + index=53, containing_service=None, input_type=_GETGROUPINFOREQUEST, output_type=_GETGROUPINFORESPONSE, @@ -26471,7 +26799,7 @@ _descriptor.MethodDescriptor( name='getGroupInfos', full_name='org.dash.platform.dapi.v0.Platform.getGroupInfos', - index=53, + index=54, containing_service=None, input_type=_GETGROUPINFOSREQUEST, output_type=_GETGROUPINFOSRESPONSE, @@ -26481,7 +26809,7 @@ _descriptor.MethodDescriptor( name='getGroupActions', full_name='org.dash.platform.dapi.v0.Platform.getGroupActions', - index=54, + index=55, containing_service=None, input_type=_GETGROUPACTIONSREQUEST, output_type=_GETGROUPACTIONSRESPONSE, @@ -26491,7 +26819,7 @@ _descriptor.MethodDescriptor( name='getGroupActionSigners', full_name='org.dash.platform.dapi.v0.Platform.getGroupActionSigners', - index=55, + index=56, containing_service=None, input_type=_GETGROUPACTIONSIGNERSREQUEST, output_type=_GETGROUPACTIONSIGNERSRESPONSE, @@ -26501,7 +26829,7 @@ _descriptor.MethodDescriptor( name='getAddressInfo', full_name='org.dash.platform.dapi.v0.Platform.getAddressInfo', - index=56, + index=57, containing_service=None, input_type=_GETADDRESSINFOREQUEST, output_type=_GETADDRESSINFORESPONSE, @@ -26511,7 +26839,7 @@ _descriptor.MethodDescriptor( name='getAddressesInfos', full_name='org.dash.platform.dapi.v0.Platform.getAddressesInfos', - index=57, + index=58, containing_service=None, input_type=_GETADDRESSESINFOSREQUEST, output_type=_GETADDRESSESINFOSRESPONSE, @@ -26521,7 +26849,7 @@ _descriptor.MethodDescriptor( name='getAddressesTrunkState', full_name='org.dash.platform.dapi.v0.Platform.getAddressesTrunkState', - index=58, + index=59, containing_service=None, input_type=_GETADDRESSESTRUNKSTATEREQUEST, output_type=_GETADDRESSESTRUNKSTATERESPONSE, @@ -26531,7 +26859,7 @@ _descriptor.MethodDescriptor( name='getAddressesBranchState', full_name='org.dash.platform.dapi.v0.Platform.getAddressesBranchState', - index=59, + index=60, containing_service=None, input_type=_GETADDRESSESBRANCHSTATEREQUEST, output_type=_GETADDRESSESBRANCHSTATERESPONSE, @@ -26541,7 +26869,7 @@ _descriptor.MethodDescriptor( name='getRecentAddressBalanceChanges', full_name='org.dash.platform.dapi.v0.Platform.getRecentAddressBalanceChanges', - index=60, + index=61, containing_service=None, input_type=_GETRECENTADDRESSBALANCECHANGESREQUEST, output_type=_GETRECENTADDRESSBALANCECHANGESRESPONSE, @@ -26551,7 +26879,7 @@ _descriptor.MethodDescriptor( name='getRecentCompactedAddressBalanceChanges', full_name='org.dash.platform.dapi.v0.Platform.getRecentCompactedAddressBalanceChanges', - index=61, + index=62, containing_service=None, input_type=_GETRECENTCOMPACTEDADDRESSBALANCECHANGESREQUEST, output_type=_GETRECENTCOMPACTEDADDRESSBALANCECHANGESRESPONSE, @@ -26561,7 +26889,7 @@ _descriptor.MethodDescriptor( name='getShieldedEncryptedNotes', full_name='org.dash.platform.dapi.v0.Platform.getShieldedEncryptedNotes', - index=62, + index=63, containing_service=None, input_type=_GETSHIELDEDENCRYPTEDNOTESREQUEST, output_type=_GETSHIELDEDENCRYPTEDNOTESRESPONSE, @@ -26571,7 +26899,7 @@ _descriptor.MethodDescriptor( name='getShieldedAnchors', full_name='org.dash.platform.dapi.v0.Platform.getShieldedAnchors', - index=63, + index=64, containing_service=None, input_type=_GETSHIELDEDANCHORSREQUEST, output_type=_GETSHIELDEDANCHORSRESPONSE, @@ -26581,7 +26909,7 @@ _descriptor.MethodDescriptor( name='getMostRecentShieldedAnchor', full_name='org.dash.platform.dapi.v0.Platform.getMostRecentShieldedAnchor', - index=64, + index=65, containing_service=None, input_type=_GETMOSTRECENTSHIELDEDANCHORREQUEST, output_type=_GETMOSTRECENTSHIELDEDANCHORRESPONSE, @@ -26591,7 +26919,7 @@ _descriptor.MethodDescriptor( name='getShieldedPoolState', full_name='org.dash.platform.dapi.v0.Platform.getShieldedPoolState', - index=65, + index=66, containing_service=None, input_type=_GETSHIELDEDPOOLSTATEREQUEST, output_type=_GETSHIELDEDPOOLSTATERESPONSE, @@ -26601,7 +26929,7 @@ _descriptor.MethodDescriptor( name='getShieldedNotesCount', full_name='org.dash.platform.dapi.v0.Platform.getShieldedNotesCount', - index=66, + index=67, containing_service=None, input_type=_GETSHIELDEDNOTESCOUNTREQUEST, output_type=_GETSHIELDEDNOTESCOUNTRESPONSE, @@ -26611,7 +26939,7 @@ _descriptor.MethodDescriptor( name='getShieldedNullifiers', full_name='org.dash.platform.dapi.v0.Platform.getShieldedNullifiers', - index=67, + index=68, containing_service=None, input_type=_GETSHIELDEDNULLIFIERSREQUEST, output_type=_GETSHIELDEDNULLIFIERSRESPONSE, diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py index 995cf626e74..c3b5319accd 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2_grpc.py @@ -124,6 +124,11 @@ def __init__(self, channel): request_serializer=platform__pb2.GetContractModerationEntriesRequest.SerializeToString, response_deserializer=platform__pb2.GetContractModerationEntriesResponse.FromString, ) + self.getContractFeePots = channel.unary_unary( + '/org.dash.platform.dapi.v0.Platform/getContractFeePots', + request_serializer=platform__pb2.GetContractFeePotsRequest.SerializeToString, + response_deserializer=platform__pb2.GetContractFeePotsResponse.FromString, + ) self.getDocumentHistory = channel.unary_unary( '/org.dash.platform.dapi.v0.Platform/getDocumentHistory', request_serializer=platform__pb2.GetDocumentHistoryRequest.SerializeToString, @@ -492,6 +497,12 @@ def getContractModerationEntries(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def getContractFeePots(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def getDocumentHistory(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -887,6 +898,11 @@ def add_PlatformServicer_to_server(servicer, server): request_deserializer=platform__pb2.GetContractModerationEntriesRequest.FromString, response_serializer=platform__pb2.GetContractModerationEntriesResponse.SerializeToString, ), + 'getContractFeePots': grpc.unary_unary_rpc_method_handler( + servicer.getContractFeePots, + request_deserializer=platform__pb2.GetContractFeePotsRequest.FromString, + response_serializer=platform__pb2.GetContractFeePotsResponse.SerializeToString, + ), 'getDocumentHistory': grpc.unary_unary_rpc_method_handler( servicer.getDocumentHistory, request_deserializer=platform__pb2.GetDocumentHistoryRequest.FromString, @@ -1501,6 +1517,23 @@ def getContractModerationEntries(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def getContractFeePots(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/org.dash.platform.dapi.v0.Platform/getContractFeePots', + platform__pb2.GetContractFeePotsRequest.SerializeToString, + platform__pb2.GetContractFeePotsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def getDocumentHistory(request, target, diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index a8946913a7a..89a47fd70f2 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts @@ -3172,6 +3172,183 @@ export namespace GetContractModerationEntriesResponse { } } +export class GetContractFeePotsRequest extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContractFeePotsRequest.GetContractFeePotsRequestV0 | undefined; + setV0(value?: GetContractFeePotsRequest.GetContractFeePotsRequestV0): void; + + getVersionCase(): GetContractFeePotsRequest.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContractFeePotsRequest.AsObject; + static toObject(includeInstance: boolean, msg: GetContractFeePotsRequest): GetContractFeePotsRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContractFeePotsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContractFeePotsRequest; + static deserializeBinaryFromReader(message: GetContractFeePotsRequest, reader: jspb.BinaryReader): GetContractFeePotsRequest; +} + +export namespace GetContractFeePotsRequest { + export type AsObject = { + v0?: GetContractFeePotsRequest.GetContractFeePotsRequestV0.AsObject, + } + + export class GetContractFeePotsRequestV0 extends jspb.Message { + getContractId(): Uint8Array | string; + getContractId_asU8(): Uint8Array; + getContractId_asB64(): string; + setContractId(value: Uint8Array | string): void; + + getProve(): boolean; + setProve(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContractFeePotsRequestV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContractFeePotsRequestV0): GetContractFeePotsRequestV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContractFeePotsRequestV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContractFeePotsRequestV0; + static deserializeBinaryFromReader(message: GetContractFeePotsRequestV0, reader: jspb.BinaryReader): GetContractFeePotsRequestV0; + } + + export namespace GetContractFeePotsRequestV0 { + export type AsObject = { + contractId: Uint8Array | string, + prove: boolean, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + +export class GetContractFeePotsResponse extends jspb.Message { + hasV0(): boolean; + clearV0(): void; + getV0(): GetContractFeePotsResponse.GetContractFeePotsResponseV0 | undefined; + setV0(value?: GetContractFeePotsResponse.GetContractFeePotsResponseV0): void; + + getVersionCase(): GetContractFeePotsResponse.VersionCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContractFeePotsResponse.AsObject; + static toObject(includeInstance: boolean, msg: GetContractFeePotsResponse): GetContractFeePotsResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContractFeePotsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContractFeePotsResponse; + static deserializeBinaryFromReader(message: GetContractFeePotsResponse, reader: jspb.BinaryReader): GetContractFeePotsResponse; +} + +export namespace GetContractFeePotsResponse { + export type AsObject = { + v0?: GetContractFeePotsResponse.GetContractFeePotsResponseV0.AsObject, + } + + export class ContractFeePot extends jspb.Message { + getCredits(): string; + setCredits(value: string): void; + + hasLastClaimEpoch(): boolean; + clearLastClaimEpoch(): void; + getLastClaimEpoch(): number; + setLastClaimEpoch(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContractFeePot.AsObject; + static toObject(includeInstance: boolean, msg: ContractFeePot): ContractFeePot.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContractFeePot, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContractFeePot; + static deserializeBinaryFromReader(message: ContractFeePot, reader: jspb.BinaryReader): ContractFeePot; + } + + export namespace ContractFeePot { + export type AsObject = { + credits: string, + lastClaimEpoch: number, + } + } + + export class ContractFeePots extends jspb.Message { + hasOwner(): boolean; + clearOwner(): void; + getOwner(): GetContractFeePotsResponse.ContractFeePot | undefined; + setOwner(value?: GetContractFeePotsResponse.ContractFeePot): void; + + hasModerators(): boolean; + clearModerators(): void; + getModerators(): GetContractFeePotsResponse.ContractFeePot | undefined; + setModerators(value?: GetContractFeePotsResponse.ContractFeePot): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContractFeePots.AsObject; + static toObject(includeInstance: boolean, msg: ContractFeePots): ContractFeePots.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContractFeePots, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContractFeePots; + static deserializeBinaryFromReader(message: ContractFeePots, reader: jspb.BinaryReader): ContractFeePots; + } + + export namespace ContractFeePots { + export type AsObject = { + owner?: GetContractFeePotsResponse.ContractFeePot.AsObject, + moderators?: GetContractFeePotsResponse.ContractFeePot.AsObject, + } + } + + export class GetContractFeePotsResponseV0 extends jspb.Message { + hasPots(): boolean; + clearPots(): void; + getPots(): GetContractFeePotsResponse.ContractFeePots | undefined; + setPots(value?: GetContractFeePotsResponse.ContractFeePots): void; + + hasProof(): boolean; + clearProof(): void; + getProof(): Proof | undefined; + setProof(value?: Proof): void; + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): ResponseMetadata | undefined; + setMetadata(value?: ResponseMetadata): void; + + getResultCase(): GetContractFeePotsResponseV0.ResultCase; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): GetContractFeePotsResponseV0.AsObject; + static toObject(includeInstance: boolean, msg: GetContractFeePotsResponseV0): GetContractFeePotsResponseV0.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: GetContractFeePotsResponseV0, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): GetContractFeePotsResponseV0; + static deserializeBinaryFromReader(message: GetContractFeePotsResponseV0, reader: jspb.BinaryReader): GetContractFeePotsResponseV0; + } + + export namespace GetContractFeePotsResponseV0 { + export type AsObject = { + pots?: GetContractFeePotsResponse.ContractFeePots.AsObject, + proof?: Proof.AsObject, + metadata?: ResponseMetadata.AsObject, + } + + export enum ResultCase { + RESULT_NOT_SET = 0, + POTS = 1, + PROOF = 2, + } + } + + export enum VersionCase { + VERSION_NOT_SET = 0, + V0 = 1, + } +} + export class GetContractGroupsForContractRequest extends jspb.Message { hasV0(): boolean; clearV0(): void; diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index e517d05b9fe..2c0c5ac8bdc 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -118,6 +118,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.VersionCase', null, { proto }); @@ -2848,6 +2857,132 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0 = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -32018,6 +32153,1201 @@ proto.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.prototype.h +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.toObject = function(includeInstance, msg) { + var f, obj = { + contractId: msg.getContractId_asB64(), + prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setContractId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProve(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getContractId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 1, + f + ); + } + f = message.getProve(); + if (f) { + writer.writeBool( + 2, + f + ); + } +}; + + +/** + * optional bytes contract_id = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * optional bytes contract_id = 1; + * This is a type-conversion wrapper around `getContractId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getContractId())); +}; + + +/** + * optional bytes contract_id = 1; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getContractId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getContractId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getContractId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.setContractId = function(value) { + return jspb.Message.setProto3BytesField(this, 1, value); +}; + + +/** + * optional bool prove = 2; + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.getProve = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0.prototype.setProve = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + +/** + * optional GetContractFeePotsRequestV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_ = [[1]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase = { + VERSION_NOT_SET: 0, + V0: 1 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.getVersionCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader); + msg.setV0(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getV0(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject = function(includeInstance, msg) { + var f, obj = { + credits: jspb.Message.getFieldWithDefault(msg, 1, "0"), + lastClaimEpoch: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readUint64String()); + msg.setCredits(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint32()); + msg.setLastClaimEpoch(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCredits(); + if (parseInt(f, 10) !== 0) { + writer.writeUint64String( + 1, + f + ); + } + f = /** @type {number} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeUint32( + 2, + f + ); + } +}; + + +/** + * optional uint64 credits = 1; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getCredits = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setCredits = function(value) { + return jspb.Message.setProto3StringIntField(this, 1, value); +}; + + +/** + * optional uint32 last_claim_epoch = 2; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaimEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaimEpoch = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaimEpoch = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaimEpoch = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject = function(includeInstance, msg) { + var f, obj = { + owner: (f = msg.getOwner()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(includeInstance, f), + moderators: (f = msg.getModerators()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader); + msg.setOwner(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deserializeBinaryFromReader); + msg.setModerators(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOwner(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter + ); + } + f = message.getModerators(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ContractFeePot owner = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.getOwner = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.setOwner = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.clearOwner = function() { + return this.setOwner(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.hasOwner = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional ContractFeePot moderators = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.getModerators = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.setModerators = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.clearModerators = function() { + return this.setModerators(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.prototype.hasModerators = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase = { + RESULT_NOT_SET: 0, + POTS: 1, + PROOF: 2 +}; + +/** + * @return {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getResultCase = function() { + return /** @type {proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.toObject = function(includeInstance, msg) { + var f, obj = { + pots: (f = msg.getPots()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.toObject(includeInstance, f), + proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f), + metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.deserializeBinaryFromReader); + msg.setPots(value); + break; + case 2: + var value = new proto.org.dash.platform.dapi.v0.Proof; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.Proof.deserializeBinaryFromReader); + msg.setProof(value); + break; + case 3: + var value = new proto.org.dash.platform.dapi.v0.ResponseMetadata; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.ResponseMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPots(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots.serializeBinaryToWriter + ); + } + f = message.getProof(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter + ); + } + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter + ); + } +}; + + +/** + * optional ContractFeePots pots = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getPots = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setPots = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearPots = function() { + return this.setPots(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasPots = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Proof proof = 2; + * @return {?proto.org.dash.platform.dapi.v0.Proof} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getProof = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setProof = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearProof = function() { + return this.setProof(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasProof = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional ResponseMetadata metadata = 3; + * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.getMetadata = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.clearMetadata = function() { + return this.setMetadata(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional GetContractFeePotsResponseV0 v0 = 1; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.getV0 = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0, 1)); +}; + + +/** + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0|undefined} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} returns this +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.setV0 = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.clearV0 = function() { + return this.setV0(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.prototype.hasV0 = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts index df434e4f6db..70819c2ed26 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.d.ts @@ -202,6 +202,15 @@ type PlatformgetContractModerationEntries = { readonly responseType: typeof platform_pb.GetContractModerationEntriesResponse; }; +type PlatformgetContractFeePots = { + readonly methodName: string; + readonly service: typeof Platform; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof platform_pb.GetContractFeePotsRequest; + readonly responseType: typeof platform_pb.GetContractFeePotsResponse; +}; + type PlatformgetDocumentHistory = { readonly methodName: string; readonly service: typeof Platform; @@ -640,6 +649,7 @@ export class Platform { static readonly getContractGroupsForContract: PlatformgetContractGroupsForContract; static readonly getContractModerationStatus: PlatformgetContractModerationStatus; static readonly getContractModerationEntries: PlatformgetContractModerationEntries; + static readonly getContractFeePots: PlatformgetContractFeePots; static readonly getDocumentHistory: PlatformgetDocumentHistory; static readonly getDocuments: PlatformgetDocuments; static readonly getIdentityByPublicKeyHash: PlatformgetIdentityByPublicKeyHash; @@ -918,6 +928,15 @@ export class PlatformClient { requestMessage: platform_pb.GetContractModerationEntriesRequest, callback: (error: ServiceError|null, responseMessage: platform_pb.GetContractModerationEntriesResponse|null) => void ): UnaryResponse; + getContractFeePots( + requestMessage: platform_pb.GetContractFeePotsRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetContractFeePotsResponse|null) => void + ): UnaryResponse; + getContractFeePots( + requestMessage: platform_pb.GetContractFeePotsRequest, + callback: (error: ServiceError|null, responseMessage: platform_pb.GetContractFeePotsResponse|null) => void + ): UnaryResponse; getDocumentHistory( requestMessage: platform_pb.GetDocumentHistoryRequest, metadata: grpc.Metadata, diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js index f414ed52a32..6dd389d4e40 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb_service.js @@ -208,6 +208,15 @@ Platform.getContractModerationEntries = { responseType: platform_pb.GetContractModerationEntriesResponse }; +Platform.getContractFeePots = { + methodName: "getContractFeePots", + service: Platform, + requestStream: false, + responseStream: false, + requestType: platform_pb.GetContractFeePotsRequest, + responseType: platform_pb.GetContractFeePotsResponse +}; + Platform.getDocumentHistory = { methodName: "getDocumentHistory", service: Platform, @@ -1311,6 +1320,37 @@ PlatformClient.prototype.getContractModerationEntries = function getContractMode }; }; +PlatformClient.prototype.getContractFeePots = function getContractFeePots(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(Platform.getContractFeePots, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + PlatformClient.prototype.getDocumentHistory = function getDocumentHistory(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; From f67005e70bde7f10c7f4afd8aa4c89b7003ec6fb Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 18:38:50 +0700 Subject: [PATCH 3/6] feat(sdk): fetch a contract's fee pots The proof verifier reads the proved and the unproved answer of getContractFeePots, rs-dapi routes it, and the Rust SDK fetches ContractFeePots by the contract id. Co-Authored-By: Claude Fable 5.1 --- packages/dapi/doc/endpoints/index.md | 1 + packages/rs-dapi-client/src/transport/grpc.rs | 9 ++ packages/rs-dapi/src/metrics.rs | 1 + .../src/services/platform_service/mod.rs | 6 + .../src/proof/contract_moderation.rs | 132 +++++++++++++++++- .../src/types/contract_moderation.rs | 116 ++++++++++++++- .../rs-drive-proof-verifier/src/unproved.rs | 42 +++++- packages/rs-sdk/src/mock/requests.rs | 28 +++- packages/rs-sdk/src/mock/sdk.rs | 3 + packages/rs-sdk/src/platform.rs | 1 + .../rs-sdk/src/platform/contract_fee_pots.rs | 60 ++++++++ packages/rs-sdk/src/platform/query.rs | 1 + packages/rs-sdk/tests/fetch/mock_fetch.rs | 41 ++++++ 13 files changed, 432 insertions(+), 9 deletions(-) create mode 100644 packages/rs-sdk/src/platform/contract_fee_pots.rs diff --git a/packages/dapi/doc/endpoints/index.md b/packages/dapi/doc/endpoints/index.md index 79e58dcd3d2..d1a1f7ef926 100644 --- a/packages/dapi/doc/endpoints/index.md +++ b/packages/dapi/doc/endpoints/index.md @@ -62,6 +62,7 @@ The following endpoints are defined in the gRPC service but are served by Drive - `getContractGroupsForContract` - `getContractModerationStatus` - `getContractModerationEntries` +- `getContractFeePots` - `getIdentityByPublicKeyHash` - `getIdentitiesByPublicKeyHashes` - `getProofs` diff --git a/packages/rs-dapi-client/src/transport/grpc.rs b/packages/rs-dapi-client/src/transport/grpc.rs index 2663a7b8f81..6a1dd3bd5f1 100644 --- a/packages/rs-dapi-client/src/transport/grpc.rs +++ b/packages/rs-dapi-client/src/transport/grpc.rs @@ -321,6 +321,15 @@ impl_transport_request_grpc!( get_contract_moderation_entries ); +// rpc getContractFeePots(GetContractFeePotsRequest) returns (GetContractFeePotsResponse); +impl_transport_request_grpc!( + platform_proto::GetContractFeePotsRequest, + platform_proto::GetContractFeePotsResponse, + PlatformGrpcClient, + RequestSettings::default(), + get_contract_fee_pots +); + // rpc getContractGroupMembers(GetContractGroupMembersRequest) returns (GetContractGroupMembersResponse); impl_transport_request_grpc!( platform_proto::GetContractGroupMembersRequest, diff --git a/packages/rs-dapi/src/metrics.rs b/packages/rs-dapi/src/metrics.rs index cce34c786a2..887be2be0fe 100644 --- a/packages/rs-dapi/src/metrics.rs +++ b/packages/rs-dapi/src/metrics.rs @@ -565,6 +565,7 @@ fn known_grpc_endpoint(path: &str) -> &'static str { "getContractGroupsForContract", "getContractModerationStatus", "getContractModerationEntries", + "getContractFeePots", "getDataContracts", "getDataContractsByRange", "getDocumentHistory", diff --git a/packages/rs-dapi/src/services/platform_service/mod.rs b/packages/rs-dapi/src/services/platform_service/mod.rs index ff5e607f90b..beb9dfbb4d9 100644 --- a/packages/rs-dapi/src/services/platform_service/mod.rs +++ b/packages/rs-dapi/src/services/platform_service/mod.rs @@ -430,6 +430,12 @@ impl Platform for PlatformServiceImpl { dapi_grpc::platform::v0::GetContractModerationEntriesResponse ); + drive_method!( + get_contract_fee_pots, + dapi_grpc::platform::v0::GetContractFeePotsRequest, + dapi_grpc::platform::v0::GetContractFeePotsResponse + ); + drive_method!( get_contract_group_members, dapi_grpc::platform::v0::GetContractGroupMembersRequest, diff --git a/packages/rs-drive-proof-verifier/src/proof/contract_moderation.rs b/packages/rs-drive-proof-verifier/src/proof/contract_moderation.rs index 3aa69c8cbcd..36e206156ed 100644 --- a/packages/rs-drive-proof-verifier/src/proof/contract_moderation.rs +++ b/packages/rs-drive-proof-verifier/src/proof/contract_moderation.rs @@ -1,14 +1,15 @@ -//! Proof verification of the contract moderation queries. +//! Proof verification of the contract moderation queries and of the fee pots query. use crate::error::MapGroveDbError; use crate::types::contract_moderation::{ - entries_query_from_request, identifier_from_request, lists_from_request, - ContractModerationEntries, ContractModerationListStatuses, + entries_query_from_request, identifier_from_request, lists_from_request, ContractFeePots, + ContractModerationEntries, ContractModerationListStatuses, CONTRACT_FEE_POTS_QUERIED, }; use crate::verify::{supported_grovedb_proof_bytes, verify_tenderdash_proof}; use crate::{ContextProvider, Error, FromProof}; use dapi_grpc::platform::v0::{ - get_contract_moderation_entries_request, get_contract_moderation_status_request, + get_contract_fee_pots_request, get_contract_moderation_entries_request, + get_contract_moderation_status_request, GetContractFeePotsRequest, GetContractFeePotsResponse, GetContractModerationEntriesRequest, GetContractModerationEntriesResponse, GetContractModerationStatusRequest, GetContractModerationStatusResponse, Proof, ResponseMetadata, @@ -112,9 +113,59 @@ impl FromProof for ContractModerationEntrie } } +impl FromProof for ContractFeePots { + type Request = GetContractFeePotsRequest; + type Response = GetContractFeePotsResponse; + + fn maybe_from_proof_with_metadata<'a, I: Into, O: Into>( + request: I, + response: O, + _network: Network, + platform_version: &PlatformVersion, + provider: &'a dyn ContextProvider, + ) -> Result<(Option, ResponseMetadata, Proof), Error> + where + Self: Sized + 'a, + { + let request: Self::Request = request.into(); + let response: Self::Response = response.into(); + + let get_contract_fee_pots_request::Version::V0(v0) = + request.version.ok_or(Error::EmptyVersion)?; + let contract_id = identifier_from_request(&v0.contract_id, "contract_id")?; + + let metadata = response + .metadata() + .or(Err(Error::EmptyResponseMetadata))? + .clone(); + let proof = response.proof_owned().or(Err(Error::NoProofInResult))?; + + let (root_hash, pots) = Drive::verify_contract_fee_pots( + supported_grovedb_proof_bytes(&proof, platform_version)?, + contract_id, + &CONTRACT_FEE_POTS_QUERIED, + false, + platform_version, + ) + .map_drive_error(&proof, &metadata)?; + + verify_tenderdash_proof(&proof, &metadata, &root_hash, provider, platform_version)?; + + // A pot nothing was ever paid into proves as absent and reads as zero credits, so the + // pots themselves are always the answer. The proof says nothing about the contract: a + // node refuses the query for a contract it does not hold before it proves anything. + Ok((Some(pots), metadata, proof)) + } +} + #[cfg(test)] mod tests { use super::*; + use dapi_grpc::platform::v0::get_contract_fee_pots_request::GetContractFeePotsRequestV0; + use dapi_grpc::platform::v0::get_contract_fee_pots_response::{ + get_contract_fee_pots_response_v0::Result as FeePotsResult, GetContractFeePotsResponseV0, + Version as FeePotsResponseVersion, + }; use dapi_grpc::platform::v0::get_contract_moderation_entries_request::GetContractModerationEntriesRequestV0; use dapi_grpc::platform::v0::get_contract_moderation_entries_response::{ get_contract_moderation_entries_response_v0::Result as EntriesResult, @@ -380,4 +431,77 @@ mod tests { "got: {err:?}" ); } + + fn fee_pots_request(contract_id: Vec) -> GetContractFeePotsRequest { + GetContractFeePotsRequest { + version: Some(get_contract_fee_pots_request::Version::V0( + GetContractFeePotsRequestV0 { + contract_id, + prove: true, + }, + )), + } + } + + fn fee_pots_response(result: Option) -> GetContractFeePotsResponse { + GetContractFeePotsResponse { + version: Some(FeePotsResponseVersion::V0(GetContractFeePotsResponseV0 { + result, + metadata: Some(ResponseMetadata::default()), + })), + } + } + + fn fee_pots_error( + request: GetContractFeePotsRequest, + response: GetContractFeePotsResponse, + ) -> Error { + >::maybe_from_proof( + request, + response, + Network::Testnet, + PlatformVersion::latest(), + &UnreachableProvider, + ) + .unwrap_err() + } + + #[test] + fn fee_pots_should_fail_with_empty_version_when_request_has_no_version() { + let err = fee_pots_error( + GetContractFeePotsRequest { version: None }, + fee_pots_response(Some(FeePotsResult::Proof(Proof::default()))), + ); + assert!(matches!(err, Error::EmptyVersion), "got: {err:?}"); + } + + #[test] + fn fee_pots_should_reject_a_malformed_contract_id() { + let err = fee_pots_error( + fee_pots_request(vec![1; 5]), + fee_pots_response(Some(FeePotsResult::Proof(Proof::default()))), + ); + assert!( + matches!(&err, Error::RequestError { error } if error.contains("contract_id")), + "got: {err:?}" + ); + } + + #[test] + fn fee_pots_should_fail_without_proof_when_response_carries_none() { + let err = fee_pots_error(fee_pots_request(vec![1; 32]), fee_pots_response(None)); + assert!(matches!(err, Error::NoProofInResult), "got: {err:?}"); + } + + #[test] + fn fee_pots_should_fail_on_a_proof_that_does_not_verify() { + let err = fee_pots_error( + fee_pots_request(vec![1; 32]), + fee_pots_response(Some(FeePotsResult::Proof(Proof::default()))), + ); + assert!( + !matches!(err, Error::RequestError { .. } | Error::NoProofInResult), + "got: {err:?}" + ); + } } diff --git a/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs b/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs index ae6a71ae87e..8e1ae7798f8 100644 --- a/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs +++ b/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs @@ -1,9 +1,13 @@ //! Contract moderation query results and the wire conversions the proved and unproved paths //! share: one identity's status on the lists queried ([`ContractModerationListStatuses`]) and one //! page of a contract's banlist or suspension list ([`ContractModerationEntries`], read with a -//! [`ContractModerationEntriesQuery`]). +//! [`ContractModerationEntriesQuery`]). The fee pots of a contract ([`ContractFeePots`]) are +//! read here too: they are what its document action fees pay its owner and its moderators. use crate::Error; +use dapi_grpc::platform::v0::get_contract_fee_pots_response::{ + ContractFeePot as ContractFeePotProto, ContractFeePots as ContractFeePotsProto, +}; use dapi_grpc::platform::v0::get_contract_moderation_entries_response::ContractModerationEntry as ContractModerationEntryProto; use dapi_grpc::platform::v0::ContractModerationList as ContractModerationListProto; use dapi_grpc::platform::v0::ContractModerationReason as ContractModerationReasonProto; @@ -12,8 +16,10 @@ pub use dpp::data_contract::config::moderation::{ ContractModerationListStatuses, ContractModerationReason, ContractModerationStatus, ContractSuspension, }; +pub use dpp::data_contract::document_type::action_fees::ContractFeePot; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; +pub use drive::drive::contract::fee_pots::types::{ContractFeePotState, ContractFeePots}; pub use drive::drive::contract::moderation::types::{ ContractModerationEntriesQuery, ContractModerationEntry, }; @@ -52,6 +58,11 @@ impl ContractModerationEntries { } } +/// The pots a fee pots request reads, in the order its proof is built and verified in: always +/// both. +pub const CONTRACT_FEE_POTS_QUERIED: [ContractFeePot; 2] = + [ContractFeePot::Owner, ContractFeePot::Moderators]; + /// The 32 byte identifier a request field holds, naming the field in the error. pub fn identifier_from_request(bytes: &[u8], what: &str) -> Result { Identifier::from_bytes(bytes).map_err(|_| Error::RequestError { @@ -179,6 +190,40 @@ pub fn entries_from_response( .map(ContractModerationEntries) } +/// One pot of an unproved response. The epoch a pot was last paid out in is a u16 on the chain, +/// so a response naming a larger one is refused: no pot of any version can hold it. +fn fee_pot_from_response( + pot: Option, + what: &str, +) -> Result { + let ContractFeePotProto { + credits, + last_claim_epoch, + } = pot.ok_or_else(|| Error::ResponseDecodeError { + error: format!("contract fee pots response holds no {what} pot"), + })?; + let last_claim_epoch = last_claim_epoch + .map(|epoch| { + u16::try_from(epoch).map_err(|_| Error::ResponseDecodeError { + error: format!("last claim epoch {epoch} of the {what} pot is not a u16"), + }) + }) + .transpose()?; + Ok(ContractFeePotState { + credits, + last_claim_epoch, + }) +} + +/// The fee pots of an unproved response. A node always answers with both pots, an empty one as +/// zero credits, so a response that leaves one out is refused. +pub fn fee_pots_from_response(pots: ContractFeePotsProto) -> Result { + Ok(ContractFeePots { + owner: fee_pot_from_response(pots.owner, "owner")?, + moderators: fee_pot_from_response(pots.moderators, "moderators")?, + }) +} + #[cfg(test)] mod tests { use super::*; @@ -420,4 +465,73 @@ mod tests { }]); assert_eq!(short.next_query(&query), None); } + + #[test] + fn should_read_the_fee_pots_of_an_unproved_response() { + let pots = fee_pots_from_response(ContractFeePotsProto { + owner: Some(ContractFeePotProto { + credits: 10_000_000, + last_claim_epoch: None, + }), + moderators: Some(ContractFeePotProto { + credits: u64::MAX, + // Epoch 0 is an epoch a pot can have been paid out in, not "never". + last_claim_epoch: Some(0), + }), + }) + .expect("expected the pots to be read"); + assert_eq!( + pots, + ContractFeePots { + owner: ContractFeePotState { + credits: 10_000_000, + last_claim_epoch: None, + }, + moderators: ContractFeePotState { + credits: u64::MAX, + last_claim_epoch: Some(0), + }, + } + ); + assert_eq!(pots.pot(ContractFeePot::Moderators).credits, u64::MAX); + } + + #[test] + fn should_refuse_fee_pots_a_node_cannot_have_read() { + let pot = |last_claim_epoch| { + Some(ContractFeePotProto { + credits: 1, + last_claim_epoch, + }) + }; + for (pots, needle) in [ + ( + ContractFeePotsProto { + owner: None, + moderators: pot(None), + }, + "no owner pot", + ), + ( + ContractFeePotsProto { + owner: pot(None), + moderators: None, + }, + "no moderators pot", + ), + ( + ContractFeePotsProto { + owner: pot(None), + moderators: pot(Some(u32::from(u16::MAX) + 1)), + }, + "is not a u16", + ), + ] { + let err = fee_pots_from_response(pots).expect_err("expected the pots to be refused"); + assert!( + matches!(&err, Error::ResponseDecodeError { error } if error.contains(needle)), + "{needle}: {err:?}" + ); + } + } } diff --git a/packages/rs-drive-proof-verifier/src/unproved.rs b/packages/rs-drive-proof-verifier/src/unproved.rs index 26349f0739e..284d29f8358 100644 --- a/packages/rs-drive-proof-verifier/src/unproved.rs +++ b/packages/rs-drive-proof-verifier/src/unproved.rs @@ -4,9 +4,10 @@ use crate::types::contract_groups::{ ContractGroupMembershipsForContract, }; use crate::types::contract_moderation::{ - entries_from_response, list_from_request, lists_from_request, reason_from_response, - ContractBan, ContractModerationEntries, ContractModerationList, ContractModerationListStatuses, - ContractModerationStatus, ContractSuspension, + entries_from_response, fee_pots_from_response, list_from_request, lists_from_request, + reason_from_response, ContractBan, ContractFeePots, ContractModerationEntries, + ContractModerationList, ContractModerationListStatuses, ContractModerationStatus, + ContractSuspension, }; use crate::types::data_contracts_latest_versions::{ DataContractLatestVersion, DataContractsLatestVersions, @@ -1001,6 +1002,41 @@ impl FromUnproved for ContractMod } } +impl FromUnproved for ContractFeePots { + type Request = platform::GetContractFeePotsRequest; + type Response = platform::GetContractFeePotsResponse; + + fn maybe_from_unproved_with_metadata, O: Into>( + _request: I, + response: O, + _network: Network, + _platform_version: &PlatformVersion, + ) -> Result<(Option, ResponseMetadata), Error> + where + Self: Sized, + { + use platform::get_contract_fee_pots_response::get_contract_fee_pots_response_v0::Result as V0Result; + + let response: Self::Response = response.into(); + + let platform::get_contract_fee_pots_response::Version::V0(v0) = + response.version.ok_or(Error::EmptyVersion)?; + let metadata = v0.metadata.ok_or(Error::EmptyResponseMetadata)?; + + let pots = match v0.result { + Some(V0Result::Pots(pots)) => Some(fee_pots_from_response(pots)?), + Some(V0Result::Proof(_)) => { + return Err(Error::ResponseDecodeError { + error: "expected unproved contract fee pots, got a proof".to_string(), + }) + } + None => None, + }; + + Ok((pots, metadata)) + } +} + impl FromUnproved for IdentityKeysRemainingBudgets { diff --git a/packages/rs-sdk/src/mock/requests.rs b/packages/rs-sdk/src/mock/requests.rs index 7d8e748867f..ef120e88bb3 100644 --- a/packages/rs-sdk/src/mock/requests.rs +++ b/packages/rs-sdk/src/mock/requests.rs @@ -27,7 +27,7 @@ use dpp::{ use drive::grovedb::Element; use drive_proof_verifier::types::identity_keys_remaining_budgets::IdentityKeysRemainingBudgets; use drive_proof_verifier::types::contract_moderation::{ - ContractModerationEntries, ContractModerationEntry, ContractModerationListStatus, + ContractFeePotState, ContractFeePots, ContractModerationEntries, ContractModerationEntry, ContractModerationListStatus, ContractModerationListStatuses, ContractModerationReason, }; use drive_proof_verifier::types::contract_groups::{ @@ -409,6 +409,32 @@ impl MockResponse for ContractModerationListStatuses { } } +impl MockResponse for ContractFeePots { + fn mock_serialize(&self, _sdk: &MockDashPlatformSdk) -> Vec { + let pots: [(u64, Option); 2] = [ + (self.owner.credits, self.owner.last_claim_epoch), + (self.moderators.credits, self.moderators.last_claim_epoch), + ]; + bincode::encode_to_vec(pots, BINCODE_CONFIG).expect("encode ContractFeePots") + } + + fn mock_deserialize(_sdk: &MockDashPlatformSdk, buf: &[u8]) -> Self + where + Self: Sized, + { + let ([owner, moderators], _): ([(u64, Option); 2], usize) = + bincode::decode_from_slice(buf, BINCODE_CONFIG).expect("decode ContractFeePots"); + let pot = |(credits, last_claim_epoch)| ContractFeePotState { + credits, + last_claim_epoch, + }; + ContractFeePots { + owner: pot(owner), + moderators: pot(moderators), + } + } +} + impl MockResponse for ContractModerationEntries { fn mock_serialize(&self, _sdk: &MockDashPlatformSdk) -> Vec { let entries: Vec<(Identifier, Option, ContractModerationReason)> = self diff --git a/packages/rs-sdk/src/mock/sdk.rs b/packages/rs-sdk/src/mock/sdk.rs index 01af3ebbef9..3998589be30 100644 --- a/packages/rs-sdk/src/mock/sdk.rs +++ b/packages/rs-sdk/src/mock/sdk.rs @@ -180,6 +180,9 @@ impl MockDashPlatformSdk { "GetContractModerationEntriesRequest" => load_expectation::< proto::GetContractModerationEntriesRequest, >(&mut dapi, filename)?, + "GetContractFeePotsRequest" => { + load_expectation::(&mut dapi, filename)? + } "GetDocumentHistoryRequest" => { load_expectation::(&mut dapi, filename)? } diff --git a/packages/rs-sdk/src/platform.rs b/packages/rs-sdk/src/platform.rs index cb819c12e18..48c234478ab 100644 --- a/packages/rs-sdk/src/platform.rs +++ b/packages/rs-sdk/src/platform.rs @@ -7,6 +7,7 @@ pub mod address_sync; pub mod block_info_from_metadata; +pub mod contract_fee_pots; pub mod contract_groups; pub mod contract_moderation; pub mod dashpay; diff --git a/packages/rs-sdk/src/platform/contract_fee_pots.rs b/packages/rs-sdk/src/platform/contract_fee_pots.rs new file mode 100644 index 00000000000..3f28479d58e --- /dev/null +++ b/packages/rs-sdk/src/platform/contract_fee_pots.rs @@ -0,0 +1,60 @@ +//! The fee pots of a data contract (`getContractFeePots`): what the document action fees of +//! the contract have paid into the owner pot and the moderators pot, and the epoch each pot was +//! last paid out in. +//! +//! A document type prices its actions with the `actionFees` keyword. What a fee collects waits +//! in a pot until a [`ContractFeeClaim`](dpp::state_transition::contract_fee_claim_transition) +//! pays it out (see [`ClaimContractFees`](crate::platform::transition::contract_fee_claim)), +//! which a pot allows once per epoch. The pots tell a recipient whether a claim is worth +//! sending: [`ContractFeePotState::credits`] is what it would pay, and a +//! [`ContractFeePotState::last_claim_epoch`] equal to the current epoch means the pot was +//! already paid out in it. +//! +//! [`ContractFeePots::fetch`] takes the contract id, or a [`ContractFeePotsQuery`]. A contract +//! that charges no fees, or whose fees nobody has paid yet, reads as two empty pots. A contract +//! the network does not hold is an error on the node, not an absent result. +//! +//! The type also implements [`FetchUnproved`] for the unverified fast path. + +use crate::platform::{Fetch, FetchUnproved, Identifier, Query, QuerySettings}; +use crate::Error; +use dapi_grpc::platform::v0::get_contract_fee_pots_request::GetContractFeePotsRequestV0; +use dapi_grpc::platform::v0::{get_contract_fee_pots_request, GetContractFeePotsRequest}; +pub use drive_proof_verifier::types::contract_moderation::{ + ContractFeePot, ContractFeePotState, ContractFeePots, +}; + +/// Query for the fee pots of a contract. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct ContractFeePotsQuery { + /// The contract. + pub contract_id: Identifier, +} + +impl Query for ContractFeePotsQuery { + fn query(&self, settings: &QuerySettings<'_>) -> Result { + Ok(GetContractFeePotsRequest { + version: Some(get_contract_fee_pots_request::Version::V0( + GetContractFeePotsRequestV0 { + contract_id: self.contract_id.to_vec(), + prove: settings.prove, + }, + )), + }) + } +} + +impl Query for Identifier { + fn query(&self, settings: &QuerySettings<'_>) -> Result { + ContractFeePotsQuery { contract_id: *self }.query(settings) + } +} + +impl Fetch for ContractFeePots { + type Query = GetContractFeePotsRequest; + type Request = GetContractFeePotsRequest; +} + +impl FetchUnproved for ContractFeePots { + type Request = GetContractFeePotsRequest; +} diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index 4523b577959..cd4ece4f978 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -156,6 +156,7 @@ impl_wire_query!( proto::GetContestedResourceVoteStateRequest, proto::GetContestedResourceVotersForIdentityRequest, proto::GetContestedResourcesRequest, + proto::GetContractFeePotsRequest, proto::GetContractGroupInfoRequest, proto::GetContractGroupMembersRequest, proto::GetContractGroupsForContractRequest, diff --git a/packages/rs-sdk/tests/fetch/mock_fetch.rs b/packages/rs-sdk/tests/fetch/mock_fetch.rs index 38d42e719ff..620cb219b0b 100644 --- a/packages/rs-sdk/tests/fetch/mock_fetch.rs +++ b/packages/rs-sdk/tests/fetch/mock_fetch.rs @@ -155,3 +155,44 @@ async fn test_mock_fetch_document() { assert_eq!(retrieved, expected); } + +#[tokio::test] +/// Given the fee pots of a contract, when I fetch them by the contract id using mock API, then +/// I get the same pots, a pot paid out in epoch 0 apart from one that never was +async fn should_fetch_mocked_contract_fee_pots_by_contract_id() { + use dash_sdk::platform::contract_fee_pots::{ + ContractFeePotState, ContractFeePots, ContractFeePotsQuery, + }; + + let mut sdk = Sdk::new_mock(); + + let contract_id = Identifier::from([7u8; 32]); + let expected = ContractFeePots { + owner: ContractFeePotState { + credits: 10_000_000, + last_claim_epoch: None, + }, + moderators: ContractFeePotState { + credits: u64::MAX, + last_claim_epoch: Some(0), + }, + }; + + sdk.mock() + .expect_fetch(contract_id, Some(expected)) + .await + .unwrap(); + + // The contract id and the named query build the same request, so either finds the pots. + let by_id = ContractFeePots::fetch(&sdk, contract_id) + .await + .unwrap() + .expect("pots should exist"); + let by_query = ContractFeePots::fetch(&sdk, ContractFeePotsQuery { contract_id }) + .await + .unwrap() + .expect("pots should exist"); + + assert_eq!(by_id, expected); + assert_eq!(by_query, expected); +} From 96068da0f59b2e806f5e5786b4f823e1b5048ec5 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 18:38:50 +0700 Subject: [PATCH 4/6] feat(sdk): fee pots query and fee claim in the wasm and JavaScript SDKs getContractFeePots and contractClaimFees in the wasm-sdk, contracts.feePots and contracts.claimFees in the JavaScript SDK. A fee claim is verified against the contract, whose moderation team an update can change, so the contract is fetched again before a claim, on the generic broadcast path too. Co-Authored-By: Claude Fable 5.1 --- book/src/data-model/contract-moderation.md | 12 +- packages/js-evo-sdk/src/contracts/facade.ts | 28 ++++ .../tests/unit/facades/contracts.spec.ts | 56 +++++++ .../wasm-sdk/src/queries/contract_fee_pots.rs | 115 +++++++++++++++ packages/wasm-sdk/src/queries/mod.rs | 1 + .../src/state_transitions/broadcast.rs | 55 +++++++ .../src/state_transitions/contract.rs | 138 ++++++++++++++++++ 7 files changed, 404 insertions(+), 1 deletion(-) create mode 100644 packages/wasm-sdk/src/queries/contract_fee_pots.rs diff --git a/book/src/data-model/contract-moderation.md b/book/src/data-model/contract-moderation.md index d3a75657d1c..685f8629535 100644 --- a/book/src/data-model/contract-moderation.md +++ b/book/src/data-model/contract-moderation.md @@ -165,13 +165,23 @@ The team is read when the claim executes. An owner who changes the appointed set The proof of a claim's execution shows the pot with its last claim epoch and the balance of every recipient, which the prover and the verifier both read from the contract. `VerifiedContractFeeClaim` carries the contract id, the pot, that epoch, the credits left in the pot and the balances. A pot that was never claimed proves no claim; a later claim of the same pot verifies just the same, so the result is classified as affected state. +### Reading the Pots + +- `getContractFeePots(contract_id, prove)`: both pots of the contract, each with its credits and the epoch it was last paid out in. + +The query always reads both pots, so its proof is one fixed path query (`Drive::contract_fee_pots_query`) that the prover and `Drive::verify_contract_fee_pots` build alike, with nothing in the request to get wrong. A pot nothing was paid into yet has no element and reads as zero credits, and a pot never paid out has no last claim epoch, which is not epoch 0: a pot can have been paid out in epoch 0, so the wire field is optional and the JavaScript field is absent. The proof says nothing about the contract itself, only about what is stored under its id, so the node refuses the query for a contract it does not hold before it proves anything, and a client that needs to know the contract exists fetches it. + +A recipient reads the pots to decide whether a claim is worth its gas: the credits are what it would pay, and a last claim epoch equal to the current epoch means the claim would be refused (41111). The Rust SDK has `Fetch` and `FetchUnproved` impls for `ContractFeePots` (`platform::contract_fee_pots`, queried by the contract id), the wasm-sdk `getContractFeePots` and `contractClaimFees`, and the JavaScript SDK `contracts.feePots` and `contracts.claimFees`. + +The claim's proof is verified against the contract, which names who the pot pays, and the team can change by a contract update. So every client fetches the contract again before a claim instead of trusting a cached copy: `ClaimContractFees` in the Rust SDK, `contractClaimFees` in the wasm-sdk, and the wasm-sdk's generic `broadcastAndWait` for a `ContractFeeClaim` built by hand, which falls back to the cached copy when that fetch fails, because the transition is already broadcast by then. + ## Versioning Touchpoints All in place for protocol version 14: `CONTRACT_VERSIONS_V6` makes config V2 the config of every new contract (`max_version` and `default_current_version` 2) and `validate_config_update` 2; `STATE_TRANSITION_SERIALIZATION_VERSIONS_V3` and `DRIVE_ABCI_VALIDATION_VERSIONS_V10` carry the transition's slots and `batch_state_transition.contract_moderation_gate`, and the contract update's basic structure moves to 2 to validate the declaration; `DRIVE_CONTRACT_METHOD_VERSIONS_V4` bumps `insert_contract` to 2 and adds the `moderation` table (its `update_contract` 2 belongs to token distribution and does nothing for moderation); `DRIVE_STATE_TRANSITION_METHOD_VERSIONS_V4` adds the converter slot and bumps `documents_batch_transition` to 1 for the sweep; `DRIVE_VERIFY_METHOD_VERSIONS` and `DRIVE_ABCI_QUERY_VERSIONS` gain their moderation tables; `SYSTEM_LIMITS_V4` gains `max_contract_moderators`, `max_contract_suspension_until` and `max_contract_moderation_reason_length`. ## What Is Not There Yet -Action fees on token transitions, a DAPI query and SDK methods for the fee pots and the claim, group-based moderators (`AuthorizedActionTakers::Group` through group actions), keys bound to the contract allowed to sign its moderation, ban codes declared by the contract (the reason's `code` is where they will go), further entry metadata such as a timestamp or the moderator's id, and the Swift and Kotlin SDKs. The refusal a barred identity receives (41107, 41108, 41114) does not repeat the reason: the status query does. +Action fees on token transitions, group-based moderators (`AuthorizedActionTakers::Group` through group actions), keys bound to the contract allowed to sign its moderation, ban codes declared by the contract (the reason's `code` is where they will go), further entry metadata such as a timestamp or the moderator's id, and the Swift and Kotlin SDKs. The refusal a barred identity receives (41107, 41108, 41114) does not repeat the reason: the status query does. ## Tests diff --git a/packages/js-evo-sdk/src/contracts/facade.ts b/packages/js-evo-sdk/src/contracts/facade.ts index 95ccbc80aec..11a9561ff0f 100644 --- a/packages/js-evo-sdk/src/contracts/facade.ts +++ b/packages/js-evo-sdk/src/contracts/facade.ts @@ -173,4 +173,32 @@ export class ContractsFacade { const w = await this.sdk.getWasmSdkConnected(); return w.getContractModerationEntriesWithProofInfo(query); } + + /** + * What the document action fees of a contract (the `actionFees` keyword, protocol version + * 14) have collected for its owner and for its moderation team, and the epoch each pot was + * last paid out in. A contract that charges no fees has two empty pots. + */ + async feePots(contractId: wasm.IdentifierLike): Promise { + const w = await this.sdk.getWasmSdkConnected(); + return w.getContractFeePots(contractId); + } + + async feePotsWithProof( + contractId: wasm.IdentifierLike, + ): Promise> { + const w = await this.sdk.getWasmSdkConnected(); + return w.getContractFeePotsWithProofInfo(contractId); + } + + /** + * Pays out a fee pot of a contract: the `owner` pot whole to the contract owner, who alone + * may claim it, and the `moderators` pot in equal shares to the contract's moderation team, + * any member of which may claim it for all of them. Signed with a CRITICAL authentication + * key. A pot is paid out at most once per epoch, and an empty pot refuses the claim. + */ + async claimFees(options: wasm.ContractClaimFeesOptions): Promise { + const w = await this.sdk.getWasmSdkConnected(); + return w.contractClaimFees(options); + } } diff --git a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts index 99db0006d1a..6939be0fd72 100644 --- a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts +++ b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts @@ -326,4 +326,60 @@ describe('ContractsFacade', () => { expect(result).to.equal(response); }); }); + + describe('contract fee pots', () => { + const contractId = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec'; + const moderatorId = 'H2pb35GtKpjLinncBYeMsXkdDYXCbsFzzVmssce6pSJ1'; + + it('should fetch the pots, and a pot never paid out carries no epoch', async function run() { + const pots = { + owner: { credits: BigInt(10000000) }, + moderators: { credits: BigInt(100000000), lastClaimEpoch: 0 }, + }; + const stub = this.sinon.stub(wasmSdk, 'getContractFeePots').resolves(pots); + + const result = await client.contracts.feePots(contractId); + + expect(stub).to.be.calledOnceWithExactly(contractId); + expect(result.owner.lastClaimEpoch).to.equal(undefined); + expect(result.moderators.lastClaimEpoch).to.equal(0); + }); + + it('should fetch the pots with proof', async function run() { + const response = { + data: { owner: { credits: BigInt(0) }, moderators: { credits: BigInt(0) } }, + proof: {}, + metadata: {}, + }; + const stub = this.sinon.stub(wasmSdk, 'getContractFeePotsWithProofInfo').resolves(response); + + const result = await client.contracts.feePotsWithProof(contractId); + + expect(stub).to.be.calledOnceWithExactly(contractId); + expect(result).to.equal(response); + }); + + it('should forward claimFees() to contractClaimFees() and return the pot it paid out', async function run() { + const claimed = { + contractId, + pot: 'moderators' as const, + lastClaimEpoch: 12, + remainingCredits: BigInt(1), + balances: new Map([[moderatorId, BigInt(50000000)]]), + }; + const stub = this.sinon.stub(wasmSdk, 'contractClaimFees').resolves(claimed); + const options = { + identity: Object.create(wasmSDKPackage.Identity.prototype), + contractId, + pot: 'moderators' as const, + signer, + }; + + const result = await client.contracts.claimFees(options); + + expect(stub).to.be.calledOnceWithExactly(options); + expect(result.pot).to.equal('moderators'); + expect(result.balances.get(moderatorId)).to.equal(BigInt(50000000)); + }); + }); }); diff --git a/packages/wasm-sdk/src/queries/contract_fee_pots.rs b/packages/wasm-sdk/src/queries/contract_fee_pots.rs new file mode 100644 index 00000000000..f838245e64a --- /dev/null +++ b/packages/wasm-sdk/src/queries/contract_fee_pots.rs @@ -0,0 +1,115 @@ +//! The fee pots of a data contract (`getContractFeePots`): what its document action fees have +//! paid into the owner pot and the moderators pot, and the epoch each was last paid out in. + +use crate::error::WasmSdkError; +use crate::queries::ProofMetadataResponseWasm; +use crate::sdk::WasmSdk; +use dash_sdk::platform::contract_fee_pots::{ContractFeePotState, ContractFeePots}; +use dash_sdk::platform::{Fetch, Identifier}; +use wasm_bindgen::prelude::wasm_bindgen; +use wasm_bindgen::JsValue; +use wasm_dpp2::identifier::IdentifierLikeJs; + +#[wasm_bindgen(typescript_custom_section)] +const CONTRACT_FEE_POTS_TS: &'static str = r#" +/** One of the two pots the document action fees of a contract collect in. */ +export type ContractFeePotKind = 'owner' | 'moderators'; + +/** What one fee pot of a contract holds. */ +export interface ContractFeePotState { + /** The credits in the pot: what a claim would pay out, less what an equal split leaves over. */ + credits: bigint; + /** + * The epoch the pot was last paid out in; undefined when it never was. A pot is paid out at + * most once per epoch, so a claim in this epoch is refused. + */ + lastClaimEpoch?: number; +} + +/** + * The fee pots of a contract. A contract that charges no action fees, or whose fees nobody has + * paid yet, has two empty pots. + */ +export interface ContractFeePots { + /** The pot the contract owner claims. */ + owner: ContractFeePotState; + /** The pot the contract's moderation team shares; any member claims it for all of them. */ + moderators: ContractFeePotState; +} +"#; + +fn parse_contract_id(id: IdentifierLikeJs) -> Result { + id.try_into() + .map_err(|err| WasmSdkError::invalid_argument(format!("Invalid contract id: {err}"))) +} + +fn pot_to_js(pot: &ContractFeePotState) -> Result { + let result = js_sys::Object::new(); + let set = |key: &str, value: JsValue| { + js_sys::Reflect::set(&result, &key.into(), &value) + .map(|_| ()) + .map_err(|_| WasmSdkError::generic(format!("failed to set `{key}` on the fee pot"))) + }; + set("credits", js_sys::BigInt::from(pot.credits).into())?; + // Epoch 0 is an epoch a pot can have been paid out in, so "never" is the absent field. + if let Some(epoch) = pot.last_claim_epoch { + set("lastClaimEpoch", JsValue::from(epoch))?; + } + Ok(result.into()) +} + +fn pots_to_js(pots: &ContractFeePots) -> Result { + let result = js_sys::Object::new(); + for (key, pot) in [("owner", &pots.owner), ("moderators", &pots.moderators)] { + js_sys::Reflect::set(&result, &key.into(), &pot_to_js(pot)?) + .map_err(|_| WasmSdkError::generic(format!("failed to set `{key}` on the fee pots")))?; + } + Ok(result.into()) +} + +#[wasm_bindgen] +impl WasmSdk { + /// What the document action fees of a contract have collected for its owner and for its + /// moderation team, and the epoch each pot was last paid out in. Use it to decide whether + /// a `contractClaimFees` is worth sending. + /// + /// # Example + /// ```javascript + /// const pots = await sdk.getContractFeePots(contractId); + /// if (pots.moderators.credits > 0n) console.log('there are fees to claim'); + /// ``` + #[wasm_bindgen( + js_name = "getContractFeePots", + unchecked_return_type = "ContractFeePots" + )] + pub async fn get_contract_fee_pots( + &self, + #[wasm_bindgen(js_name = "contractId")] contract_id: IdentifierLikeJs, + ) -> Result { + let contract_id = parse_contract_id(contract_id)?; + let pots = ContractFeePots::fetch(self.as_ref(), contract_id) + .await? + .unwrap_or_default(); + pots_to_js(&pots) + } + + /// The fee pots of a contract together with their proof and metadata. + #[wasm_bindgen( + js_name = "getContractFeePotsWithProofInfo", + unchecked_return_type = "ProofMetadataResponseTyped" + )] + pub async fn get_contract_fee_pots_with_proof_info( + &self, + #[wasm_bindgen(js_name = "contractId")] contract_id: IdentifierLikeJs, + ) -> Result { + let contract_id = parse_contract_id(contract_id)?; + let (pots, metadata, proof) = + ContractFeePots::fetch_with_metadata_and_proof(self.as_ref(), contract_id, None) + .await?; + Ok(ProofMetadataResponseWasm::from_sdk_parts( + pots_to_js(&pots.unwrap_or_default())?, + metadata, + proof, + )) + } +} diff --git a/packages/wasm-sdk/src/queries/mod.rs b/packages/wasm-sdk/src/queries/mod.rs index 3f560f044f9..a4c0dc677be 100644 --- a/packages/wasm-sdk/src/queries/mod.rs +++ b/packages/wasm-sdk/src/queries/mod.rs @@ -1,6 +1,7 @@ pub mod address; pub mod chained_document; pub mod composite_document; +pub mod contract_fee_pots; pub mod contract_group; pub mod contract_moderation; pub mod data_contract; diff --git a/packages/wasm-sdk/src/state_transitions/broadcast.rs b/packages/wasm-sdk/src/state_transitions/broadcast.rs index 10e9aed7ae7..f3dd32343b9 100644 --- a/packages/wasm-sdk/src/state_transitions/broadcast.rs +++ b/packages/wasm-sdk/src/state_transitions/broadcast.rs @@ -8,6 +8,7 @@ use crate::sdk::WasmSdk; use crate::settings::{parse_put_settings, PutSettingsJs}; use dash_sdk::dpp::platform_value::Identifier; use dash_sdk::dpp::state_transition::batch_transition::accessors::DocumentsBatchTransitionAccessorsV0; +use dash_sdk::dpp::state_transition::contract_fee_claim_transition::accessors::ContractFeeClaimTransitionAccessorsV0; use dash_sdk::dpp::state_transition::contract_user_moderation_transition::accessors::ContractUserModerationTransitionAccessorsV0; use dash_sdk::dpp::state_transition::contract_user_moderation_transition::ContractUserModerationAction; use dash_sdk::dpp::state_transition::proof_result::StateTransitionProofResult; @@ -41,6 +42,17 @@ fn referenced_contract_ids(state_transition: &StateTransition) -> BTreeSet Option { + match state_transition { + StateTransition::ContractFeeClaim(claim) => Some(claim.data_contract_id()), + _ => None, + } +} + impl WasmSdk { /// Whether the context provider can already supply this contract, either /// from its cache or from a definition compiled into the SDK. @@ -72,6 +84,21 @@ impl WasmSdk { } } + if let Some(contract_id) = contract_id_to_refresh(state_transition) { + // This runs after the transition is broadcast, so a fetch that fails must not + // discard a result the network may already have accepted: a copy the provider + // holds is what is left to verify against, and it is right unless the team changed. + if let Err(error) = self.refresh_contract(contract_id).await { + if !self.can_resolve_contract(contract_id) { + return Err(error); + } + tracing::warn!( + contract_id = %contract_id, + "Failed to fetch the contract of a fee claim again; verifying against the cached copy" + ); + } + } + for contract_id in referenced_contract_ids(state_transition) { // A contract the provider already resolves is left alone: fetching // it would let a node-supplied copy shadow a cached or compiled-in @@ -415,6 +442,34 @@ mod tests { assert!(referenced_contract_ids(&unban).is_empty()); } + #[test] + fn should_refresh_the_contract_of_a_fee_claim_only() { + use dash_sdk::dpp::state_transition::contract_fee_claim_transition::v0::ContractFeeClaimTransitionV0; + use dash_sdk::dpp::state_transition::contract_fee_claim_transition::ContractFeeClaimTransition; + use dash_sdk::dpp::state_transition::contract_user_moderation_transition::v0::ContractUserModerationTransitionV0; + use dash_sdk::dpp::state_transition::contract_user_moderation_transition::ContractUserModerationTransition; + + let contract_id = Identifier::new([0x44; 32]); + let claim = StateTransition::ContractFeeClaim(ContractFeeClaimTransition::V0( + ContractFeeClaimTransitionV0 { + data_contract_id: contract_id, + ..Default::default() + }, + )); + assert_eq!(contract_id_to_refresh(&claim), Some(contract_id)); + // The refresh resolves the contract, so it is not fetched a second time. + assert!(referenced_contract_ids(&claim).is_empty()); + + // The lists a ban's proof covers never change, so a cached copy of its contract will do. + let ban = StateTransition::ContractUserModeration(ContractUserModerationTransition::V0( + ContractUserModerationTransitionV0 { + data_contract_id: contract_id, + ..Default::default() + }, + )); + assert_eq!(contract_id_to_refresh(&ban), None); + } + #[test] fn should_not_prepare_contracts_for_non_batch_transition() { let state_transition = StateTransition::IdentityTopUp(IdentityTopUpTransition::V0( diff --git a/packages/wasm-sdk/src/state_transitions/contract.rs b/packages/wasm-sdk/src/state_transitions/contract.rs index bd674eeb62d..fcd399b5c71 100644 --- a/packages/wasm-sdk/src/state_transitions/contract.rs +++ b/packages/wasm-sdk/src/state_transitions/contract.rs @@ -458,3 +458,141 @@ impl WasmSdk { self.moderate_contract_user(options, "unsuspend").await } } + +// ============================================================================ +// Contract Fee Claim +// ============================================================================ + +#[wasm_bindgen(typescript_custom_section)] +const CONTRACT_FEE_CLAIM_OPTIONS_TS: &'static str = r#" +/** + * Options for paying out a fee pot of a data contract (protocol version 14). The signer must + * hold a CRITICAL authentication key without contract bounds of the claiming identity: the + * contract owner for the owner pot, any member of the contract's moderation team for the + * moderators pot. + */ +export interface ContractClaimFeesOptions { + /** The claiming identity */ + identity: Identity; + /** The contract whose pot is paid out */ + contractId: IdentifierLike; + /** The pot to pay out */ + pot: ContractFeePotKind; + /** Signer holding a CRITICAL authentication key without contract bounds of the identity */ + signer: IdentitySigner; + /** Optional broadcast settings */ + settings?: PutSettings; +} + +/** A fee pot after a claim, as the proof of the claim shows it. */ +export interface ContractClaimFeesResult { + contractId: Identifier; + pot: ContractFeePotKind; + /** The epoch the pot was last paid out in: the epoch of this claim, unless it was claimed again since */ + lastClaimEpoch: number; + /** The credits left in the pot: what an equal split left over, and any fee collected since */ + remainingCredits: bigint; + /** The balance, after the claim, of every identity the pot pays, keyed by base58 identity id */ + balances: Map; +} +"#; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen(typescript_type = "ContractClaimFeesOptions")] + pub type ContractClaimFeesOptionsJs; + + #[wasm_bindgen(typescript_type = "ContractClaimFeesResult")] + pub type ContractClaimFeesResultJs; +} + +#[derive(serde::Deserialize)] +#[serde(rename_all = "camelCase")] +struct ContractClaimFeesOptionsInput { + pot: String, +} + +#[wasm_bindgen] +impl WasmSdk { + /// Pays out a fee pot of a data contract: the owner pot whole to the contract owner, the + /// moderators pot in equal shares to the contract's moderation team, whichever member + /// claims it. A pot is paid out at most once per epoch; `getContractFeePots` tells what a + /// claim would pay and when the pot was last paid out. + /// + /// @param options - The claiming identity, the contract, the `pot` and the signer + /// @returns The pot and the balances of the identities it paid, proved + #[wasm_bindgen(js_name = "contractClaimFees")] + pub async fn contract_claim_fees( + &self, + options: ContractClaimFeesOptionsJs, + ) -> Result { + use dash_sdk::dpp::data_contract::document_type::action_fees::ContractFeePot; + use dash_sdk::platform::transition::contract_fee_claim::ClaimContractFees; + use wasm_dpp2::data_contract::contract_fee_pot_from_str; + use wasm_dpp2::identity::IdentityWasm; + use wasm_dpp2::IdentifierWasm; + + // Extract complex types first (borrows &options) + let identity: dash_sdk::dpp::identity::Identity = + IdentityWasm::try_from_options(&options, "identity")?.into(); + let contract_id: Identifier = + IdentifierWasm::try_from_options(&options, "contractId")?.into(); + let signer = IdentitySignerWasm::try_from_options(&options, "signer")?; + let settings = + try_from_options_optional::(&options, "settings")?.map(Into::into); + + // Deserialize simple fields last (consumes options) + let parsed: ContractClaimFeesOptionsInput = + crate::queries::utils::deserialize_required_query( + options, + "Options object is required", + "contract fee claim options", + )?; + let pot = contract_fee_pot_from_str(&parsed.pot) + .map_err(|e| WasmSdkError::invalid_argument(e.to_string()))?; + + // The proof of a claim covers the balance of every identity the pot pays, and the + // verifier reads who they are from the contract. The moderation team can change by a + // contract update, so the contract is fetched again, whatever copy is cached, before + // anything is paid for. The Rust SDK fetches it too, but what it registers with the + // context provider does not reach the trusted context of this SDK. + self.refresh_contract(contract_id).await?; + + let claimed = identity + .claim_contract_fees(self.inner_sdk(), contract_id, pot, None, signer, settings) + .await?; + + let result = js_sys::Object::new(); + let set = |key: &str, value: JsValue| { + js_sys::Reflect::set(&result, &key.into(), &value).map_err(|_| { + WasmSdkError::generic(format!("failed to set `{key}` on the fee claim result")) + }) + }; + set( + "contractId", + IdentifierWasm::from(claimed.contract_id).into(), + )?; + set( + "pot", + match claimed.pot { + ContractFeePot::Owner => "owner", + ContractFeePot::Moderators => "moderators", + } + .into(), + )?; + set("lastClaimEpoch", JsValue::from(claimed.last_claim_epoch))?; + set( + "remainingCredits", + js_sys::BigInt::from(claimed.remaining_credits).into(), + )?; + let balances = js_sys::Map::new(); + for (identity_id, balance) in &claimed.balances { + balances.set( + &JsValue::from_str(&IdentifierWasm::from(*identity_id).to_base58()), + &js_sys::BigInt::from(*balance).into(), + ); + } + set("balances", balances.into())?; + Ok(JsValue::from(result).into()) + } +} From 7ed362d7cf8f04b65344add436a9f6f147da2c81 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 19:20:42 +0700 Subject: [PATCH 5/6] feat(platform)!: record who claimed a contract fee pot and when A claim left only its epoch behind, two bytes per pot. It now leaves a last claim of 42 bytes: the epoch, the time of the block and the identity that signed, so the moderation team can see which member claimed for them and when. The record has a fixed size, so a claim that replaces the one before it never resizes the item. The execution proof of a claim carries the record, getContractFeePots returns it for both pots, and the SDKs expose it. Co-Authored-By: Claude Fable 5.1 --- book/src/data-model/contract-moderation.md | 16 ++-- .../protos/platform/v0/platform.proto | 16 +++- packages/js-evo-sdk/src/contracts/facade.ts | 5 +- .../tests/unit/facades/contracts.spec.ts | 15 ++- .../document_type/action_fees/mod.rs | 22 +++++ .../src/state_transition/proof_result.rs | 11 +-- .../contract_fee_claim/state/v0/mod.rs | 3 +- .../contract_fee_claim/tests.rs | 34 +++++-- .../contract_fee_pots/v0/mod.rs | 56 +++++++++--- .../src/types/contract_moderation.rs | 75 +++++++++++---- packages/rs-drive/grovedb-structure.json | 20 ++-- .../fee_pots/fetch_contract_fee_pot/v0/mod.rs | 14 +-- .../src/drive/contract/fee_pots/mod.rs | 13 +-- .../src/drive/contract/fee_pots/queries.rs | 13 +-- .../mod.rs | 23 +++-- .../v0/mod.rs | 18 ++-- .../src/drive/contract/fee_pots/tests.rs | 53 ++++++----- .../src/drive/contract/fee_pots/types.rs | 91 ++++++++++++++++--- packages/rs-drive/src/drive/contract/paths.rs | 24 ++--- .../rs-drive/src/drive/contract/structure.rs | 48 ++++++---- .../prove/prove_state_transition/v0/mod.rs | 2 +- .../contract/contract_fee_claim_transition.rs | 6 +- .../contract/contract_fee_claim/mod.rs | 14 ++- .../contract_fee_claim/transformer.rs | 7 +- .../contract/contract_fee_claim/v0/mod.rs | 6 +- .../contract_fee_claim/v0/transformer.rs | 7 +- packages/rs-drive/src/structure/tests.rs | 14 ++- .../batch/drive_op_batch/contract_fee_pot.rs | 19 ++-- .../verify_contract_fee_pots/mod.rs | 2 +- .../verify_contract_fee_pots/v0/mod.rs | 16 ++-- .../v0/mod.rs | 15 +-- .../drive_contract_method_versions/mod.rs | 2 +- .../drive_contract_method_versions/v1.rs | 2 +- .../drive_contract_method_versions/v2.rs | 2 +- .../drive_contract_method_versions/v3.rs | 2 +- packages/rs-sdk/src/mock/requests.rs | 14 +-- .../rs-sdk/src/platform/contract_fee_pots.rs | 9 +- .../platform/transition/contract_fee_claim.rs | 13 ++- packages/rs-sdk/tests/fetch/mock_fetch.rs | 10 +- .../state_transitions/proof_result/convert.rs | 6 +- .../proof_result/data_contract.rs | 31 ++++++- .../wasm-sdk/src/queries/contract_fee_pots.rs | 31 +++++-- .../src/state_transitions/contract.rs | 17 +++- 43 files changed, 558 insertions(+), 259 deletions(-) rename packages/rs-drive/src/drive/contract/fee_pots/{set_contract_last_fee_claim_epoch => set_contract_last_fee_claim}/mod.rs (68%) rename packages/rs-drive/src/drive/contract/fee_pots/{set_contract_last_fee_claim_epoch => set_contract_last_fee_claim}/v0/mod.rs (72%) diff --git a/book/src/data-model/contract-moderation.md b/book/src/data-model/contract-moderation.md index 685f8629535..f6bf3b0a461 100644 --- a/book/src/data-model/contract-moderation.md +++ b/book/src/data-model/contract-moderation.md @@ -142,11 +142,11 @@ A moderation team can be paid. A document type may charge a fixed fee in credits └── [192] moderators fee pots (sum tree) -> -> SumItem(credits) [64] DataContractDocuments -> -> [2] other - ├── [32] epoch the owner pot was last claimed in Item(u16 BE) (after a claim) - └── [96] epoch the moderators pot was last claimed in Item(u16 BE) (after a claim) + ├── [32] last claim of the owner pot Item(epoch u16 BE | time u64 BE | claimant id) (after a claim) + └── [96] last claim of the moderators pot Item(epoch u16 BE | time u64 BE | claimant id) (after a claim) ``` -The pots are not under the contract. The per-block total credits check (`calculate_total_credits_balance`) sums a fixed set of root sum trees, and `DataContractDocuments` is a normal tree: credits parked under a contract would leave that sum and fail every block with `CorruptedCreditsNotBalanced`. `PreFundedSpecializedBalances` is one of the summed trees, so the pots live there, in two sum trees beside the voting balances, created at genesis (state structure 4) and by the upgrade to protocol version 14 through the same helper, one after the other, so that both node populations build the same Merk. A pot is created by the first fee it receives, and so is its tree on a chain that reached protocol version 14 on a build from before the pots: that first fee checks, with a billed read, that the tree is there. The estimation of a voting balance write moves to generation 1 with them, because the prefunded balances layer now holds three trees instead of one. The two last claim epochs are plain items of the contract's other tree, below `128` so the banlist stays on top, written by the first claim. +The pots are not under the contract. The per-block total credits check (`calculate_total_credits_balance`) sums a fixed set of root sum trees, and `DataContractDocuments` is a normal tree: credits parked under a contract would leave that sum and fail every block with `CorruptedCreditsNotBalanced`. `PreFundedSpecializedBalances` is one of the summed trees, so the pots live there, in two sum trees beside the voting balances, created at genesis (state structure 4) and by the upgrade to protocol version 14 through the same helper, one after the other, so that both node populations build the same Merk. A pot is created by the first fee it receives, and so is its tree on a chain that reached protocol version 14 on a build from before the pots: that first fee checks, with a billed read, that the tree is there. The estimation of a voting balance write moves to generation 1 with them, because the prefunded balances layer now holds three trees instead of one. The two last claims are plain items of the contract's other tree, below `128` so the banlist stays on top, written by the first claim and replaced by every later one. A last claim (`ContractFeePotLastClaim`) is 42 bytes: the epoch of the claim, which the next claim is judged against, the time of its block in milliseconds, and the id of the identity that signed it. The owner pot's claimant is always the owner; the moderators pot's is whichever member of the team claimed for all of them, so the team can see who paid them and when. Every last claim has the same size, so a replacement never changes the size of the item, and the item carries no storage flags: it is never removed, and no claim adds bytes for anyone to own. **The team** that shares the moderators pot is the set of identities the contract appoints, the owner among them only when appointed, and the owner alone when nobody is appointed (`ContractModerators::team`). It is about earnings, not authority: an owner who is not appointed still may moderate. `ContractFeePot::recipients` names who a payout of a pot goes to: the contract owner for the owner pot, the team for the moderators pot, nobody for the moderators pot of a contract that declares no moderation. @@ -159,19 +159,19 @@ The pots are not under the contract. The per-block total credits check (`calcula | | the pot was not paid out in this epoch yet | 41111 | | | every recipient gets at least a credit | 41112 | -The owner pot goes to the owner whole. The moderators pot is split equally between the team, and what the split leaves over, less than a credit per member, stays in the pot for the next claim, so no member is favoured by the order of the identity ids. Each pot is paid out at most once per epoch and the two are independent: the owner's claim does not use up the team's, nor the reverse. A refused claim is paid for by a nonce bump and leaves the pot and its last claim epoch alone. As for moderation, state validation *is* the transform, so the mempool refuses with the same codes as a block. +The owner pot goes to the owner whole. The moderators pot is split equally between the team, and what the split leaves over, less than a credit per member, stays in the pot for the next claim, so no member is favoured by the order of the identity ids. Each pot is paid out at most once per epoch and the two are independent: the owner's claim does not use up the team's, nor the reverse. A refused claim is paid for by a nonce bump and leaves the pot and its last claim alone. As for moderation, state validation *is* the transform, so the mempool refuses with the same codes as a block. The team is read when the claim executes. An owner who changes the appointed set by a contract update and then claims pays the new set: that follows from the owner controlling the contract's config, and is not prevented. The claim credits every recipient's balance, which is why a named moderator must exist (41110): crediting a balance that is not there is an internal error. -The proof of a claim's execution shows the pot with its last claim epoch and the balance of every recipient, which the prover and the verifier both read from the contract. `VerifiedContractFeeClaim` carries the contract id, the pot, that epoch, the credits left in the pot and the balances. A pot that was never claimed proves no claim; a later claim of the same pot verifies just the same, so the result is classified as affected state. +The proof of a claim's execution shows the pot with its last claim and the balance of every recipient, which the prover and the verifier both read from the contract. `VerifiedContractFeeClaim` carries the contract id, the pot, that last claim (epoch, block time, claimant), the credits left in the pot and the balances. A pot that was never claimed proves no claim; a later claim of the same pot verifies just the same, so the result is classified as affected state. ### Reading the Pots -- `getContractFeePots(contract_id, prove)`: both pots of the contract, each with its credits and the epoch it was last paid out in. +- `getContractFeePots(contract_id, prove)`: both pots of the contract, each with its credits and its last claim: the epoch and the block time it was paid out in, and the identity that claimed. -The query always reads both pots, so its proof is one fixed path query (`Drive::contract_fee_pots_query`) that the prover and `Drive::verify_contract_fee_pots` build alike, with nothing in the request to get wrong. A pot nothing was paid into yet has no element and reads as zero credits, and a pot never paid out has no last claim epoch, which is not epoch 0: a pot can have been paid out in epoch 0, so the wire field is optional and the JavaScript field is absent. The proof says nothing about the contract itself, only about what is stored under its id, so the node refuses the query for a contract it does not hold before it proves anything, and a client that needs to know the contract exists fetches it. +The query always reads both pots, so its proof is one fixed path query (`Drive::contract_fee_pots_query`) that the prover and `Drive::verify_contract_fee_pots` build alike, with nothing in the request to get wrong. A pot nothing was paid into yet has no element and reads as zero credits, and a pot never paid out has no last claim, which is not a claim in epoch 0: a pot can have been paid out in epoch 0, so the last claim is a message of its own on the wire, unset when there is none, and the JavaScript fields (`lastClaimEpoch`, `lastClaimTimeMs`, `lastClaimantId`) are absent together. The proof says nothing about the contract itself, only about what is stored under its id, so the node refuses the query for a contract it does not hold before it proves anything, and a client that needs to know the contract exists fetches it. -A recipient reads the pots to decide whether a claim is worth its gas: the credits are what it would pay, and a last claim epoch equal to the current epoch means the claim would be refused (41111). The Rust SDK has `Fetch` and `FetchUnproved` impls for `ContractFeePots` (`platform::contract_fee_pots`, queried by the contract id), the wasm-sdk `getContractFeePots` and `contractClaimFees`, and the JavaScript SDK `contracts.feePots` and `contracts.claimFees`. +A recipient reads the pots to decide whether a claim is worth its gas: the credits are what it would pay, and a last claim epoch equal to the current epoch means the claim would be refused (41111). A member of the team also reads there which member last claimed for the team, and when. The Rust SDK has `Fetch` and `FetchUnproved` impls for `ContractFeePots` (`platform::contract_fee_pots`, queried by the contract id), the wasm-sdk `getContractFeePots` and `contractClaimFees`, and the JavaScript SDK `contracts.feePots` and `contracts.claimFees`. The claim's proof is verified against the contract, which names who the pot pays, and the team can change by a contract update. So every client fetches the contract again before a claim instead of trusting a cached copy: `ClaimContractFees` in the Rust SDK, `contractClaimFees` in the wasm-sdk, and the wasm-sdk's generic `broadcastAndWait` for a `ContractFeeClaim` built by hand, which falls back to the cached copy when that fetch fails, because the transition is already broadcast by then. diff --git a/packages/dapi-grpc/protos/platform/v0/platform.proto b/packages/dapi-grpc/protos/platform/v0/platform.proto index a58f644fb67..389b60ff21a 100644 --- a/packages/dapi-grpc/protos/platform/v0/platform.proto +++ b/packages/dapi-grpc/protos/platform/v0/platform.proto @@ -806,12 +806,22 @@ message GetContractFeePotsRequest { } message GetContractFeePotsResponse { + // The last payout of a pot, which the claim that made it left in state + message ContractFeePotLastClaim { + uint32 epoch = 1; // The epoch (u16) the pot was paid out in; a pot is paid + // out at most once per epoch + uint64 time_ms = 2 + [ jstype = JS_STRING ]; // The time of the block that paid the pot out + bytes claimant_id = 3; // The identity that signed the claim: the contract + // owner for the owner pot, the member of the + // moderation team that claimed for the moderators pot + } + // One of the two pots a contract's document action fees collect in message ContractFeePot { uint64 credits = 1 [ jstype = JS_STRING ]; // What the pot holds - optional uint32 last_claim_epoch = - 2; // The epoch the pot was last paid out in, unset when it never was; - // a pot is paid out at most once per epoch + ContractFeePotLastClaim last_claim = + 2; // Unset when the pot was never paid out } message ContractFeePots { diff --git a/packages/js-evo-sdk/src/contracts/facade.ts b/packages/js-evo-sdk/src/contracts/facade.ts index 11a9561ff0f..faa8fe1551b 100644 --- a/packages/js-evo-sdk/src/contracts/facade.ts +++ b/packages/js-evo-sdk/src/contracts/facade.ts @@ -176,8 +176,9 @@ export class ContractsFacade { /** * What the document action fees of a contract (the `actionFees` keyword, protocol version - * 14) have collected for its owner and for its moderation team, and the epoch each pot was - * last paid out in. A contract that charges no fees has two empty pots. + * 14) have collected for its owner and for its moderation team, and the last claim of each + * pot: the epoch and the block time it was paid out in, and the identity that claimed it. A + * contract that charges no fees has two empty pots. */ async feePots(contractId: wasm.IdentifierLike): Promise { const w = await this.sdk.getWasmSdkConnected(); diff --git a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts index 6939be0fd72..331b96c95d9 100644 --- a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts +++ b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.ts @@ -331,10 +331,15 @@ describe('ContractsFacade', () => { const contractId = 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec'; const moderatorId = 'H2pb35GtKpjLinncBYeMsXkdDYXCbsFzzVmssce6pSJ1'; - it('should fetch the pots, and a pot never paid out carries no epoch', async function run() { + it('should fetch the pots, and a pot never paid out carries no last claim', async function run() { const pots = { owner: { credits: BigInt(10000000) }, - moderators: { credits: BigInt(100000000), lastClaimEpoch: 0 }, + moderators: { + credits: BigInt(100000000), + lastClaimEpoch: 0, + lastClaimTimeMs: BigInt(1700000000000), + lastClaimantId: moderatorId, + }, }; const stub = this.sinon.stub(wasmSdk, 'getContractFeePots').resolves(pots); @@ -342,7 +347,10 @@ describe('ContractsFacade', () => { expect(stub).to.be.calledOnceWithExactly(contractId); expect(result.owner.lastClaimEpoch).to.equal(undefined); + expect(result.owner.lastClaimantId).to.equal(undefined); expect(result.moderators.lastClaimEpoch).to.equal(0); + expect(result.moderators.lastClaimTimeMs).to.equal(BigInt(1700000000000)); + expect(result.moderators.lastClaimantId).to.equal(moderatorId); }); it('should fetch the pots with proof', async function run() { @@ -364,6 +372,8 @@ describe('ContractsFacade', () => { contractId, pot: 'moderators' as const, lastClaimEpoch: 12, + lastClaimTimeMs: BigInt(1700000000000), + lastClaimantId: Object.create(wasmSDKPackage.Identifier.prototype), remainingCredits: BigInt(1), balances: new Map([[moderatorId, BigInt(50000000)]]), }; @@ -379,6 +389,7 @@ describe('ContractsFacade', () => { expect(stub).to.be.calledOnceWithExactly(options); expect(result.pot).to.equal('moderators'); + expect(result.lastClaimTimeMs).to.equal(BigInt(1700000000000)); expect(result.balances.get(moderatorId)).to.equal(BigInt(50000000)); }); }); diff --git a/packages/rs-dpp/src/data_contract/document_type/action_fees/mod.rs b/packages/rs-dpp/src/data_contract/document_type/action_fees/mod.rs index 0f27e2eb593..ed1ae0be65a 100644 --- a/packages/rs-dpp/src/data_contract/document_type/action_fees/mod.rs +++ b/packages/rs-dpp/src/data_contract/document_type/action_fees/mod.rs @@ -7,6 +7,7 @@ //! document type is published and never change. use crate::balances::credits::{Credits, MAX_CREDITS}; +use crate::block::epoch::EpochIndex; use crate::data_contract::accessors::v0::DataContractV0Getters; use crate::data_contract::config::v2::DataContractConfigGettersV2; use crate::data_contract::document_type::class_methods::{ @@ -15,6 +16,9 @@ use crate::data_contract::document_type::class_methods::{ use crate::data_contract::document_type::property_names::ACTION_FEES; use crate::data_contract::errors::DataContractError; use crate::data_contract::DataContract; +use crate::prelude::TimestampMillis; +#[cfg(feature = "json-conversion")] +use crate::serialization::json_safe_fields; #[cfg(feature = "json-conversion")] use crate::serialization::JsonSafeFields; use crate::ProtocolError; @@ -124,6 +128,24 @@ impl fmt::Display for ContractFeePot { #[cfg(feature = "json-conversion")] impl JsonSafeFields for ContractFeePot {} +/// The last payout of a contract fee pot, which the claim that made it leaves in state. The +/// next claim is judged against its epoch, and the rest tells the recipients of the pot who +/// paid them and when. +#[cfg_attr(feature = "json-conversion", json_safe_fields)] +#[derive( + Debug, Clone, Copy, PartialEq, Eq, Hash, Encode, Decode, DecodeUntrusted, Serialize, Deserialize, +)] +#[serde(rename_all = "camelCase")] +pub struct ContractFeePotLastClaim { + /// The epoch the pot was paid out in. A pot is paid out at most once per epoch. + pub epoch_index: EpochIndex, + /// The time of the block that paid the pot out, in milliseconds. + pub time_ms: TimestampMillis, + /// The identity that signed the claim: the contract owner for the owner pot, and for the + /// moderators pot the member of the team that claimed it for all of them. + pub claimant_id: Identifier, +} + /// The fee of one document action, in credits. #[derive(Debug, PartialEq, Eq, Clone, Copy, Default, Hash)] pub struct DocumentActionFee { diff --git a/packages/rs-dpp/src/state_transition/proof_result.rs b/packages/rs-dpp/src/state_transition/proof_result.rs index ee680f30f99..00075f7cc98 100644 --- a/packages/rs-dpp/src/state_transition/proof_result.rs +++ b/packages/rs-dpp/src/state_transition/proof_result.rs @@ -1,9 +1,8 @@ use crate::address_funds::PlatformAddress; use crate::asset_lock::StoredAssetLockInfo; use crate::balances::credits::TokenAmount; -use crate::block::epoch::EpochIndex; use crate::data_contract::config::moderation::ContractModerationListStatuses; -use crate::data_contract::document_type::action_fees::ContractFeePot; +use crate::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use crate::data_contract::group::GroupSumPower; use crate::data_contract::DataContract; use crate::document::Document; @@ -138,13 +137,13 @@ pub enum StateTransitionProofResult { /// nothing about the other. VerifiedContractModerationListStatuses(Identifier, Identifier, ContractModerationListStatuses), /// A contract fee claim's execution proof shows the pot it paid out (contract id, pot, the - /// epoch the pot was last claimed in, the credits left in it) and the balance of every - /// identity it paid, after the claim. The epoch is the claim's own: a pot is paid out at - /// most once per epoch, so within that epoch the proof is of this claim. + /// pot's last claim, the credits left in it) and the balance of every identity it paid, + /// after the claim. A pot is paid out at most once per epoch, so within its epoch the last + /// claim is this claim, and its claimant and block time say so. VerifiedContractFeeClaim( Identifier, ContractFeePot, - EpochIndex, + ContractFeePotLastClaim, Credits, #[cfg_attr( feature = "json-conversion", diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/state/v0/mod.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/state/v0/mod.rs index dadcf440409..65c1b505c4f 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/state/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/state/v0/mod.rs @@ -111,7 +111,7 @@ impl ContractFeeClaimStateTransitionStateValidationV0 for ContractFeeClaimTransi execution_context.add_operation(ValidationOperation::PrecalculatedOperation(fee)); let epoch_index = block_info.epoch.index; - if fee_pot.last_claim_epoch == Some(epoch_index) { + if fee_pot.last_claim_epoch() == Some(epoch_index) { return refuse( ContractFeesAlreadyClaimedThisEpochError::new(contract_id, pot, epoch_index).into(), ); @@ -125,6 +125,7 @@ impl ContractFeeClaimStateTransitionStateValidationV0 for ContractFeeClaimTransi ContractFeeClaimTransitionAction::from_borrowed_transition_with_payouts( self, epoch_index, + block_info.time_ms, payouts, ) .into(), diff --git a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/tests.rs b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/tests.rs index 15659690c55..73a4fc2b456 100644 --- a/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/tests.rs +++ b/packages/rs-drive-abci/src/execution/validation/state_transition/state_transitions/contract_fee_claim/tests.rs @@ -15,7 +15,7 @@ use dpp::block::epoch::{Epoch, EpochIndex}; use dpp::consensus::codes::ErrorWithCode; use dpp::data_contract::accessors::v0::{DataContractV0Getters, DataContractV0Setters}; use dpp::data_contract::config::moderation::{ContractModerationConfig, ContractModerators}; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::data_contract::document_type::random_document::{ CreateRandomDocument, DocumentFieldFillSize, DocumentFieldFillType, }; @@ -242,6 +242,7 @@ impl Setup { .expect("expected to serialize")], &state, &BlockInfo { + time_ms: block_time_of(epoch_index), epoch: Epoch::new(epoch_index).expect("expected an epoch"), ..Default::default() }, @@ -334,6 +335,20 @@ async fn claim_of(actor: &Actor, contract_id: Identifier, pot: ContractFeePot) - .expect("expected to build the claim") } +/// The time of the block `Setup::process` executes a transition in, one per epoch. +fn block_time_of(epoch_index: EpochIndex) -> u64 { + 1_700_000_000_000 + u64::from(epoch_index) * 1_000 +} + +/// What a claim by `claimant`, processed in `epoch_index`, leaves as the pot's last claim. +fn claim_by(claimant: &Actor, epoch_index: EpochIndex) -> Option { + Some(ContractFeePotLastClaim { + epoch_index, + time_ms: block_time_of(epoch_index), + claimant_id: claimant.identity.id(), + }) +} + fn gas(execution: &StateTransitionExecutionResult) -> Credits { match execution { StateTransitionExecutionResult::SuccessfulExecution { fee_result, .. } => { @@ -379,7 +394,7 @@ async fn should_split_the_moderators_pot_equally_and_leave_the_remainder() { setup.pot(ContractFeePot::Moderators, Some(&transaction)), ContractFeePotState { credits: 1, - last_claim_epoch: Some(3), + last_claim: claim_by(&setup.moderator_a, 3), } ); // The pot only moved into balances: what left the trees is the gas of the claim. @@ -434,7 +449,7 @@ async fn should_let_only_a_member_of_the_team_claim_the_moderators_pot() { setup.pot(ContractFeePot::Moderators, Some(&transaction)), ContractFeePotState { credits: 1_000, - last_claim_epoch: None, + last_claim: None, }, "a refused claim pays nothing out and does not use up the epoch" ); @@ -507,7 +522,8 @@ async fn should_pay_out_a_pot_at_most_once_per_epoch() { setup.pot(ContractFeePot::Moderators, Some(&transaction)), ContractFeePotState { credits: 0, - last_claim_epoch: Some(6), + // The last claim names the member that made it, not the one of the epoch before. + last_claim: claim_by(&setup.moderator_b, 6), } ); } @@ -534,7 +550,7 @@ async fn should_refuse_a_pot_that_holds_less_than_a_credit_for_each_recipient() setup.pot(ContractFeePot::Moderators, Some(&transaction)), ContractFeePotState { credits: 1, - last_claim_epoch: None, + last_claim: None, } ); } @@ -565,7 +581,7 @@ async fn should_pay_the_owner_pot_to_the_owner_alone_and_on_its_own_epoch_clock( setup.pot(ContractFeePot::Owner, Some(&transaction)), ContractFeePotState { credits: 0, - last_claim_epoch: Some(4), + last_claim: claim_by(&setup.owner, 4), } ); @@ -573,7 +589,7 @@ async fn should_pay_the_owner_pot_to_the_owner_alone_and_on_its_own_epoch_clock( assert_eq!( setup .pot(ContractFeePot::Moderators, Some(&transaction)) - .last_claim_epoch, + .last_claim, None ); let by_the_team = setup @@ -664,7 +680,7 @@ async fn should_prove_the_pot_and_the_balances_of_everyone_it_paid() { StateTransitionProofResult::VerifiedContractFeeClaim( contract_id, pot, - last_claim_epoch, + last_claim, remaining, balances, ), @@ -674,7 +690,7 @@ async fn should_prove_the_pot_and_the_balances_of_everyone_it_paid() { }; assert_eq!(contract_id, setup.contract.id()); assert_eq!(pot, ContractFeePot::Moderators); - assert_eq!(last_claim_epoch, 9); + assert_eq!(Some(last_claim), claim_by(&setup.moderator_a, 9)); assert_eq!(remaining, 1); assert_eq!( balances, diff --git a/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs index 3ac67e768d5..ff7aaadb9d5 100644 --- a/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs +++ b/packages/rs-drive-abci/src/query/contract_moderation_queries/contract_fee_pots/v0/mod.rs @@ -8,6 +8,7 @@ use crate::query::QueryValidationResult; use dapi_grpc::platform::v0::get_contract_fee_pots_request::GetContractFeePotsRequestV0; use dapi_grpc::platform::v0::get_contract_fee_pots_response::{ get_contract_fee_pots_response_v0, ContractFeePot as ContractFeePotProto, + ContractFeePotLastClaim as ContractFeePotLastClaimProto, ContractFeePots as ContractFeePotsProto, GetContractFeePotsResponseV0, }; use dpp::check_validation_result_with_data; @@ -21,11 +22,12 @@ use drive::util::grove_operations::GroveDBToUse; const BOTH_POTS: [ContractFeePot; 2] = [ContractFeePot::Owner, ContractFeePot::Moderators]; impl Platform { - /// Returns the two fee pots of a contract: what each holds and the epoch it was last paid - /// out in. A pot that never received a fee holds nothing, and one that was never paid out - /// has no epoch. The proved form proves both pots and both epochs, present or absent. + /// Returns the two fee pots of a contract: what each holds and its last claim, which is + /// the epoch and the block time it was last paid out in and the identity that claimed. A + /// pot that never received a fee holds nothing, and one that was never paid out has no + /// last claim. The proved form proves both pots and both last claims, present or absent. /// - /// The contract has to exist: its last claim epochs live under it, and a proof of them + /// The contract has to exist: its last claims live under it, and a proof of them /// under a contract that is not there would prove nothing a client can use. pub(super) fn query_contract_fee_pots_v0( &self, @@ -93,7 +95,13 @@ impl Platform { fn pot_to_response(pot: ContractFeePotState) -> ContractFeePotProto { ContractFeePotProto { credits: pot.credits, - last_claim_epoch: pot.last_claim_epoch.map(u32::from), + last_claim: pot + .last_claim + .map(|last_claim| ContractFeePotLastClaimProto { + epoch: u32::from(last_claim.epoch_index), + time_ms: last_claim.time_ms, + claimant_id: last_claim.claimant_id.to_vec(), + }), } } @@ -107,6 +115,7 @@ mod tests { use dpp::block::block_info::BlockInfo; use dpp::dashcore::Network; use dpp::data_contract::accessors::v0::DataContractV0Getters; + use dpp::data_contract::document_type::action_fees::ContractFeePotLastClaim; use dpp::identifier::Identifier; use drive::drive::contract::fee_pots::types::ContractFeePots; use drive::drive::Drive; @@ -190,7 +199,7 @@ mod tests { let empty = ContractFeePotProto { credits: 0, - last_claim_epoch: None, + last_claim: None, }; assert_eq!(pots.owner, Some(empty.clone())); assert_eq!(pots.moderators, Some(empty)); @@ -214,10 +223,14 @@ mod tests { amount: 300, }, // Epoch 0 is an epoch like any other: it must not read as "never claimed". - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot: ContractFeePot::Moderators, - epoch_index: 0, + last_claim: ContractFeePotLastClaim { + epoch_index: 0, + time_ms: 1_700_000_000_000, + claimant_id: Identifier::from([9; 32]), + }, }, ], version, @@ -233,14 +246,18 @@ mod tests { pots.owner, Some(ContractFeePotProto { credits: 700, - last_claim_epoch: None, + last_claim: None, }) ); assert_eq!( pots.moderators, Some(ContractFeePotProto { credits: 300, - last_claim_epoch: Some(0), + last_claim: Some(ContractFeePotLastClaimProto { + epoch: 0, + time_ms: 1_700_000_000_000, + claimant_id: vec![9; 32], + }), }) ); } @@ -257,10 +274,14 @@ mod tests { pot: ContractFeePot::Owner, amount: 42, }, - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot: ContractFeePot::Owner, - epoch_index: 6, + last_claim: ContractFeePotLastClaim { + epoch_index: 6, + time_ms: 1_700_000_006_000, + claimant_id: contract.owner_id(), + }, }, ], version, @@ -285,8 +306,15 @@ mod tests { ) .expect("expected the proof to verify"); assert_eq!(proved.owner.credits, 42); - assert_eq!(proved.owner.last_claim_epoch, Some(6)); + assert_eq!( + proved.owner.last_claim, + Some(ContractFeePotLastClaim { + epoch_index: 6, + time_ms: 1_700_000_006_000, + claimant_id: contract.owner_id(), + }) + ); assert_eq!(proved.moderators.credits, 0); - assert_eq!(proved.moderators.last_claim_epoch, None); + assert_eq!(proved.moderators.last_claim, None); } } diff --git a/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs b/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs index 8e1ae7798f8..c50365823ad 100644 --- a/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs +++ b/packages/rs-drive-proof-verifier/src/types/contract_moderation.rs @@ -5,6 +5,8 @@ //! read here too: they are what its document action fees pay its owner and its moderators. use crate::Error; +#[cfg(test)] +use dapi_grpc::platform::v0::get_contract_fee_pots_response::ContractFeePotLastClaim as ContractFeePotLastClaimProto; use dapi_grpc::platform::v0::get_contract_fee_pots_response::{ ContractFeePot as ContractFeePotProto, ContractFeePots as ContractFeePotsProto, }; @@ -16,7 +18,7 @@ pub use dpp::data_contract::config::moderation::{ ContractModerationListStatuses, ContractModerationReason, ContractModerationStatus, ContractSuspension, }; -pub use dpp::data_contract::document_type::action_fees::ContractFeePot; +pub use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; pub use drive::drive::contract::fee_pots::types::{ContractFeePotState, ContractFeePots}; @@ -190,28 +192,45 @@ pub fn entries_from_response( .map(ContractModerationEntries) } -/// One pot of an unproved response. The epoch a pot was last paid out in is a u16 on the chain, -/// so a response naming a larger one is refused: no pot of any version can hold it. +/// One pot of an unproved response. The epoch of a last claim is a u16 on the chain and its +/// claimant a 32 byte identifier, so a response naming anything else is refused: no pot of any +/// version can hold it. fn fee_pot_from_response( pot: Option, what: &str, ) -> Result { let ContractFeePotProto { credits, - last_claim_epoch, + last_claim, } = pot.ok_or_else(|| Error::ResponseDecodeError { error: format!("contract fee pots response holds no {what} pot"), })?; - let last_claim_epoch = last_claim_epoch - .map(|epoch| { - u16::try_from(epoch).map_err(|_| Error::ResponseDecodeError { - error: format!("last claim epoch {epoch} of the {what} pot is not a u16"), + let last_claim = last_claim + .map(|last_claim| { + Ok::<_, Error>(ContractFeePotLastClaim { + epoch_index: u16::try_from(last_claim.epoch).map_err(|_| { + Error::ResponseDecodeError { + error: format!( + "last claim epoch {} of the {what} pot is not a u16", + last_claim.epoch + ), + } + })?, + time_ms: last_claim.time_ms, + claimant_id: Identifier::from_bytes(&last_claim.claimant_id).map_err(|_| { + Error::ResponseDecodeError { + error: format!( + "last claimant of the {what} pot must be a 32 byte identifier, got {} bytes", + last_claim.claimant_id.len() + ), + } + })?, }) }) .transpose()?; Ok(ContractFeePotState { credits, - last_claim_epoch, + last_claim, }) } @@ -471,12 +490,16 @@ mod tests { let pots = fee_pots_from_response(ContractFeePotsProto { owner: Some(ContractFeePotProto { credits: 10_000_000, - last_claim_epoch: None, + last_claim: None, }), moderators: Some(ContractFeePotProto { credits: u64::MAX, // Epoch 0 is an epoch a pot can have been paid out in, not "never". - last_claim_epoch: Some(0), + last_claim: Some(ContractFeePotLastClaimProto { + epoch: 0, + time_ms: 1_700_000_000_000, + claimant_id: vec![7; 32], + }), }), }) .expect("expected the pots to be read"); @@ -485,23 +508,36 @@ mod tests { ContractFeePots { owner: ContractFeePotState { credits: 10_000_000, - last_claim_epoch: None, + last_claim: None, }, moderators: ContractFeePotState { credits: u64::MAX, - last_claim_epoch: Some(0), + last_claim: Some(ContractFeePotLastClaim { + epoch_index: 0, + time_ms: 1_700_000_000_000, + claimant_id: id(7), + }), }, } ); assert_eq!(pots.pot(ContractFeePot::Moderators).credits, u64::MAX); + assert_eq!(pots.moderators.last_claim_epoch(), Some(0)); + assert_eq!(pots.owner.last_claim_epoch(), None); } #[test] fn should_refuse_fee_pots_a_node_cannot_have_read() { - let pot = |last_claim_epoch| { + let pot = |last_claim| { Some(ContractFeePotProto { credits: 1, - last_claim_epoch, + last_claim, + }) + }; + let claim = |epoch, claimant_id| { + Some(ContractFeePotLastClaimProto { + epoch, + time_ms: 1, + claimant_id, }) }; for (pots, needle) in [ @@ -522,10 +558,17 @@ mod tests { ( ContractFeePotsProto { owner: pot(None), - moderators: pot(Some(u32::from(u16::MAX) + 1)), + moderators: pot(claim(u32::from(u16::MAX) + 1, vec![7; 32])), }, "is not a u16", ), + ( + ContractFeePotsProto { + owner: pot(claim(3, vec![7; 5])), + moderators: pot(None), + }, + "last claimant of the owner pot", + ), ] { let err = fee_pots_from_response(pots).expect_err("expected the pots to be refused"); assert!( diff --git a/packages/rs-drive/grovedb-structure.json b/packages/rs-drive/grovedb-structure.json index 1fadc8c6cd6..5999da0e51a 100644 --- a/packages/rs-drive/grovedb-structure.json +++ b/packages/rs-drive/grovedb-structure.json @@ -2955,21 +2955,21 @@ "description": "Everything a contract keeps beside itself and its documents. One key, so that the contract's layer holds three and its Merk keeps the documents on top. Inside, the keys are spread like the root layer's, with the most read one, the banlist, in the middle.", "children": [ { - "id": "contracts.contract.other.last_owner_fee_claim_epoch", + "id": "contracts.contract.other.last_owner_fee_claim", "key": { "type": "fixed", "hex": "20", - "label": "LastOwnerFeeClaimEpoch", - "constant": "CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY" + "label": "LastOwnerFeeClaim", + "constant": "CONTRACT_LAST_OWNER_FEE_CLAIM_KEY" }, "kinds": [ "Item" ], - "value": "epoch index, u16 big endian", + "value": "42 bytes: epoch index, u16 big endian; block time in milliseconds, u64 big endian; claimant identity id", "since": 14, "presence": "lazy", "source": "packages/rs-drive/src/drive/contract/paths.rs", - "description": "The epoch the contract's owner fee pot was last claimed in. Written by the first claim; a pot is claimed at most once per epoch.", + "description": "The last claim of the contract's owner fee pot: the epoch and the block time it was paid out in, and the identity that claimed, which is the contract owner. Written by the first claim and replaced by every later one; a pot is claimed at most once per epoch.", "children": [] }, { @@ -2996,21 +2996,21 @@ "children": [] }, { - "id": "contracts.contract.other.last_moderators_fee_claim_epoch", + "id": "contracts.contract.other.last_moderators_fee_claim", "key": { "type": "fixed", "hex": "60", - "label": "LastModeratorsFeeClaimEpoch", - "constant": "CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY" + "label": "LastModeratorsFeeClaim", + "constant": "CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY" }, "kinds": [ "Item" ], - "value": "epoch index, u16 big endian", + "value": "42 bytes: epoch index, u16 big endian; block time in milliseconds, u64 big endian; claimant identity id", "since": 14, "presence": "lazy", "source": "packages/rs-drive/src/drive/contract/paths.rs", - "description": "The epoch the contract's moderators fee pot was last claimed in. Written by the first claim; a pot is claimed at most once per epoch.", + "description": "The last claim of the contract's moderators fee pot: the epoch and the block time it was paid out in, and the member of the moderation team that claimed it for the team. Written by the first claim and replaced by every later one; a pot is claimed at most once per epoch.", "children": [] }, { diff --git a/packages/rs-drive/src/drive/contract/fee_pots/fetch_contract_fee_pot/v0/mod.rs b/packages/rs-drive/src/drive/contract/fee_pots/fetch_contract_fee_pot/v0/mod.rs index 43bd3854b84..03ddfd6e596 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/fetch_contract_fee_pot/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/fetch_contract_fee_pot/v0/mod.rs @@ -1,6 +1,6 @@ -use crate::drive::contract::fee_pots::types::{decode_epoch_index, ContractFeePotState}; +use crate::drive::contract::fee_pots::types::{decode_last_claim, ContractFeePotState}; use crate::drive::contract::paths::{ - contract_fee_pots_path, contract_last_fee_claim_epoch_key, contract_other_path, + contract_fee_pots_path, contract_last_fee_claim_key, contract_other_path, }; use crate::drive::Drive; use crate::error::drive::DriveError; @@ -35,19 +35,19 @@ impl Drive { .unwrap_or_default(); let other_path = contract_other_path(contract_id.as_slice()); - let last_claim_epoch = self + let last_claim = self .grove_get_raw_optional_item( (&other_path).into(), - contract_last_fee_claim_epoch_key(pot), + contract_last_fee_claim_key(pot), DirectQueryType::StatefulDirectQuery, transaction, drive_operations, &platform_version.drive, )? .map(|value| { - decode_epoch_index(&value).map_err(|description| { + decode_last_claim(&value).map_err(|description| { Error::Drive(DriveError::CorruptedDriveState(format!( - "last claim epoch of the {} fee pot of contract {} is malformed: {}", + "last claim of the {} fee pot of contract {} is malformed: {}", pot, contract_id, description ))) }) @@ -56,7 +56,7 @@ impl Drive { Ok(ContractFeePotState { credits, - last_claim_epoch, + last_claim, }) } } diff --git a/packages/rs-drive/src/drive/contract/fee_pots/mod.rs b/packages/rs-drive/src/drive/contract/fee_pots/mod.rs index b74e8dc706f..4f90f243316 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/mod.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/mod.rs @@ -1,5 +1,5 @@ -//! The two fee pots a data contract's document action fees accumulate in, and the epoch each -//! pot was last claimed in (protocol version 14). +//! The two fee pots a data contract's document action fees accumulate in, and the last claim of +//! each pot: its epoch, its block time and who claimed it (protocol version 14). //! //! ```text //! [40] PreFundedSpecializedBalances (sum tree) @@ -8,8 +8,8 @@ //! └── [192] moderators fee pots (sum tree) -> -> SumItem(credits) //! //! [64] DataContractDocuments -> -> [2] the contract's other tree -//! ├── [32] epoch the owner pot was last claimed in Item(u16 BE) (after a claim) -//! └── [96] epoch the moderators pot was last claimed in Item(u16 BE) (after a claim) +//! ├── [32] last claim of the owner pot Item(epoch u16 BE | time u64 BE | claimant id) +//! └── [96] last claim of the moderators pot Item(epoch u16 BE | time u64 BE | claimant id) //! ``` //! //! The pots sit under a root sum tree on purpose: the credits they hold left an identity's @@ -32,13 +32,10 @@ mod insert_contract_fee_pot_trees; mod prove_contract_fee_pots; mod queries; #[cfg(feature = "server")] -mod set_contract_last_fee_claim_epoch; +mod set_contract_last_fee_claim; /// Result types shared by the fetch and verify sides. pub mod types; #[cfg(test)] #[cfg(feature = "server")] mod tests; - -/// The stored size of a last claim epoch item: the epoch index as a u16. -pub const CONTRACT_LAST_FEE_CLAIM_EPOCH_VALUE_SIZE: u32 = 2; diff --git a/packages/rs-drive/src/drive/contract/fee_pots/queries.rs b/packages/rs-drive/src/drive/contract/fee_pots/queries.rs index 596645550c7..8591de34f9e 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/queries.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/queries.rs @@ -1,5 +1,5 @@ use crate::drive::contract::paths::{ - contract_fee_pots_path_vec, contract_last_fee_claim_epoch_key, contract_other_path_vec, + contract_fee_pots_path_vec, contract_last_fee_claim_key, contract_other_path_vec, }; use crate::drive::Drive; use crate::error::Error; @@ -18,15 +18,15 @@ impl Drive { ) } - /// The query for the epochs the given pots of a contract were last claimed in: + /// The query for the last claims of the given pots of a contract: /// `[64, contract id, 2] -> 32 | 96`. - pub fn contract_last_fee_claim_epochs_query( + pub fn contract_last_fee_claims_query( contract_id: [u8; 32], pots: &[ContractFeePot], ) -> PathQuery { let mut query = Query::new(); for pot in pots { - query.insert_key(contract_last_fee_claim_epoch_key(*pot).to_vec()); + query.insert_key(contract_last_fee_claim_key(*pot).to_vec()); } PathQuery::new( contract_other_path_vec(&contract_id), @@ -45,10 +45,7 @@ impl Drive { .iter() .map(|pot| Self::contract_fee_pot_query(contract_id, *pot)) .collect(); - queries.push(Self::contract_last_fee_claim_epochs_query( - contract_id, - pots, - )); + queries.push(Self::contract_last_fee_claims_query(contract_id, pots)); Ok(PathQuery::merge(queries.iter().collect(), grove_version)?) } } diff --git a/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/mod.rs b/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/mod.rs similarity index 68% rename from packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/mod.rs rename to packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/mod.rs index bf530c56fcd..23bc5849889 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/mod.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/mod.rs @@ -4,8 +4,7 @@ use crate::drive::Drive; use crate::error::drive::DriveError; use crate::error::Error; use crate::fees::op::LowLevelDriveOperation; -use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; use grovedb::batch::KeyInfoPath; @@ -13,15 +12,15 @@ use grovedb::EstimatedLayerInformation; use std::collections::HashMap; impl Drive { - /// The operations that record the epoch one of a contract's fee pots was claimed in. A pot - /// is claimed at most once per epoch, and this item is what the next claim is judged - /// against. + /// The operations that record the claim that paid out one of a contract's fee pots: its + /// epoch, its block time and who claimed. A pot is claimed at most once per epoch, and the + /// epoch of this item is what the next claim is judged against. /// /// # Parameters /// /// * `contract_id`: The contract the pot belongs to. /// * `pot`: The pot. - /// * `epoch_index`: The epoch of the claim. + /// * `last_claim`: The claim. /// * `estimated_costs_only_with_layer_info`: The estimation map, when only estimating. /// * `platform_version`: The platform version. /// @@ -29,11 +28,11 @@ impl Drive { /// /// * `Ok(Vec)` with the write. /// * `Err(Error)` when the version is unknown. - pub fn set_contract_last_fee_claim_epoch_operations( + pub fn set_contract_last_fee_claim_operations( &self, contract_id: Identifier, pot: ContractFeePot, - epoch_index: EpochIndex, + last_claim: &ContractFeePotLastClaim, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -44,17 +43,17 @@ impl Drive { .methods .contract .fee_pots - .set_contract_last_fee_claim_epoch + .set_contract_last_fee_claim { - 0 => self.set_contract_last_fee_claim_epoch_operations_v0( + 0 => self.set_contract_last_fee_claim_operations_v0( contract_id, pot, - epoch_index, + last_claim, estimated_costs_only_with_layer_info, platform_version, ), version => Err(Error::Drive(DriveError::UnknownVersionMismatch { - method: "set_contract_last_fee_claim_epoch_operations".to_string(), + method: "set_contract_last_fee_claim_operations".to_string(), known_versions: vec![0], received: version, })), diff --git a/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/v0/mod.rs b/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/v0/mod.rs similarity index 72% rename from packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/v0/mod.rs rename to packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/v0/mod.rs index 0f5f99f4da5..b8e4a4c9d21 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim_epoch/v0/mod.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/set_contract_last_fee_claim/v0/mod.rs @@ -1,11 +1,10 @@ -use crate::drive::contract::fee_pots::types::encode_epoch_index; -use crate::drive::contract::paths::{contract_last_fee_claim_epoch_key, contract_other_path_vec}; +use crate::drive::contract::fee_pots::types::encode_last_claim; +use crate::drive::contract::paths::{contract_last_fee_claim_key, contract_other_path_vec}; use crate::drive::Drive; use crate::error::Error; use crate::fees::op::LowLevelDriveOperation; use crate::fees::op::LowLevelDriveOperation::GroveOperation; -use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::identifier::Identifier; use dpp::version::PlatformVersion; use grovedb::batch::{KeyInfoPath, QualifiedGroveDbOp}; @@ -14,11 +13,11 @@ use std::collections::HashMap; impl Drive { #[inline(always)] - pub(super) fn set_contract_last_fee_claim_epoch_operations_v0( + pub(super) fn set_contract_last_fee_claim_operations_v0( &self, contract_id: Identifier, pot: ContractFeePot, - epoch_index: EpochIndex, + last_claim: &ContractFeePotLastClaim, estimated_costs_only_with_layer_info: &mut Option< HashMap, >, @@ -37,11 +36,12 @@ impl Drive { ); } // The item carries no storage flags: it is never deleted, so there is no refund to - // attribute, and its two bytes are the same whoever claims. + // attribute, and every last claim has the same size, so the claim that replaces it + // adds no bytes for anyone to own. let op = QualifiedGroveDbOp::insert_or_replace_op( contract_other_path_vec(contract_id.as_slice()), - contract_last_fee_claim_epoch_key(pot).to_vec(), - Element::new_item(encode_epoch_index(epoch_index)), + contract_last_fee_claim_key(pot).to_vec(), + Element::new_item(encode_last_claim(last_claim)), ) .dont_check_for_backwards_references(); Ok(vec![GroveOperation(op)]) diff --git a/packages/rs-drive/src/drive/contract/fee_pots/tests.rs b/packages/rs-drive/src/drive/contract/fee_pots/tests.rs index 93bda096baa..01dd7ea0a8b 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/tests.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/tests.rs @@ -12,7 +12,7 @@ use crate::util::test_helpers::setup::setup_drive_with_initial_state_structure; use dpp::block::block_info::BlockInfo; use dpp::block::epoch::Epoch; use dpp::data_contract::accessors::v0::DataContractV0Getters; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::data_contract::DataContract; use dpp::fee::fee_result::FeeResult; use dpp::identifier::Identifier; @@ -21,7 +21,16 @@ use dpp::version::PlatformVersion; const BOTH: [ContractFeePot; 2] = [ContractFeePot::Owner, ContractFeePot::Moderators]; -/// A drive holding one contract, whose other tree the last claim epochs live in. +/// A claim in `epoch_index`, at a block time and by a claimant that differ from epoch to epoch. +fn claim_in(epoch_index: u16) -> ContractFeePotLastClaim { + ContractFeePotLastClaim { + epoch_index, + time_ms: 1_700_000_000_000 + u64::from(epoch_index), + claimant_id: Identifier::from([epoch_index.to_be_bytes()[1].wrapping_add(1); 32]), + } +} + +/// A drive holding one contract, whose other tree the last claims live in. fn drive_with_contract() -> (Drive, DataContract) { let platform_version = PlatformVersion::latest(); let drive = setup_drive_with_initial_state_structure(Some(platform_version)); @@ -176,15 +185,15 @@ fn should_deduct_from_a_pot_and_refuse_more_than_it_holds() { } #[test] -fn should_record_the_last_claim_epoch_of_each_pot_on_its_own() { +fn should_record_the_last_claim_of_each_pot_on_its_own() { let (drive, contract) = drive_with_contract(); let set = |pot, epoch_index| { apply( &drive, - vec![ContractFeePotOperationType::SetLastClaimEpoch { + vec![ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot, - epoch_index, + last_claim: claim_in(epoch_index), }], true, ); @@ -192,25 +201,25 @@ fn should_record_the_last_claim_epoch_of_each_pot_on_its_own() { set(ContractFeePot::Moderators, 7); assert_eq!( - fetch(&drive, contract.id(), ContractFeePot::Moderators).last_claim_epoch, - Some(7) + fetch(&drive, contract.id(), ContractFeePot::Moderators).last_claim, + Some(claim_in(7)) ); assert_eq!( - fetch(&drive, contract.id(), ContractFeePot::Owner).last_claim_epoch, + fetch(&drive, contract.id(), ContractFeePot::Owner).last_claim, None ); - // A later claim replaces the epoch; epoch 0 is an epoch like any other. + // A later claim replaces the whole record, its time and its claimant with its epoch; + // epoch 0 is an epoch like any other. set(ContractFeePot::Moderators, 300); set(ContractFeePot::Owner, 0); assert_eq!( - fetch(&drive, contract.id(), ContractFeePot::Moderators).last_claim_epoch, - Some(300) - ); - assert_eq!( - fetch(&drive, contract.id(), ContractFeePot::Owner).last_claim_epoch, - Some(0) + fetch(&drive, contract.id(), ContractFeePot::Moderators).last_claim, + Some(claim_in(300)) ); + let owner_pot = fetch(&drive, contract.id(), ContractFeePot::Owner); + assert_eq!(owner_pot.last_claim, Some(claim_in(0))); + assert_eq!(owner_pot.last_claim_epoch(), Some(0)); } #[test] @@ -220,10 +229,10 @@ fn should_prove_the_pots_asked_for_and_nothing_about_the_other() { add(&drive, contract.id(), ContractFeePot::Moderators, 100); apply( &drive, - vec![ContractFeePotOperationType::SetLastClaimEpoch { + vec![ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot: ContractFeePot::Moderators, - epoch_index: 4, + last_claim: claim_in(4), }], true, ); @@ -255,7 +264,7 @@ fn should_prove_the_pots_asked_for_and_nothing_about_the_other() { ContractFeePots { owner: ContractFeePotState { credits: 10, - last_claim_epoch: None, + last_claim: None, }, moderators: ContractFeePotState::default(), } @@ -309,10 +318,10 @@ fn should_estimate_a_pot_write_without_writing() { pot: ContractFeePot::Moderators, amount: 100, }, - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot: ContractFeePot::Moderators, - epoch_index: 1, + last_claim: claim_in(1), }, ], false, @@ -332,10 +341,10 @@ fn should_estimate_a_pot_write_without_writing() { pot: ContractFeePot::Moderators, amount: 100, }, - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot: ContractFeePot::Moderators, - epoch_index: 1, + last_claim: claim_in(1), }, ], true, diff --git a/packages/rs-drive/src/drive/contract/fee_pots/types.rs b/packages/rs-drive/src/drive/contract/fee_pots/types.rs index 11589ee15dc..3487c329210 100644 --- a/packages/rs-drive/src/drive/contract/fee_pots/types.rs +++ b/packages/rs-drive/src/drive/contract/fee_pots/types.rs @@ -1,14 +1,25 @@ use dpp::balances::credits::Credits; use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; +use dpp::identifier::Identifier; +use dpp::prelude::TimestampMillis; /// What Drive holds about one of a contract's fee pots. #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub struct ContractFeePotState { /// The credits in the pot pub credits: Credits, - /// The epoch the pot was last claimed in, `None` when it never was - pub last_claim_epoch: Option, + /// The last payout of the pot (its epoch, its block time and who claimed it), `None` when + /// the pot was never paid out + pub last_claim: Option, +} + +impl ContractFeePotState { + /// The epoch the pot was last paid out in, `None` when it never was. A pot is paid out at + /// most once per epoch. + pub fn last_claim_epoch(&self) -> Option { + self.last_claim.map(|last_claim| last_claim.epoch_index) + } } /// What Drive holds about both fee pots of a contract. @@ -38,15 +49,71 @@ impl ContractFeePots { } } -/// The stored form of a last claim epoch: the epoch index, two bytes big endian. -pub fn encode_epoch_index(epoch_index: EpochIndex) -> Vec { - epoch_index.to_be_bytes().to_vec() +/// The stored size of a last claim: the epoch index (2 bytes), the block time (8 bytes) and the +/// claimant's id (32 bytes). Every last claim has this size, so a claim that replaces the one +/// before it never changes the size of the item. +pub const CONTRACT_FEE_POT_LAST_CLAIM_SIZE: usize = 2 + 8 + 32; + +/// The stored form of a last claim: the epoch index, two bytes big endian, the block time in +/// milliseconds, eight bytes big endian, and the 32 bytes of the claimant's id. +pub fn encode_last_claim(last_claim: &ContractFeePotLastClaim) -> Vec { + let mut bytes = Vec::with_capacity(CONTRACT_FEE_POT_LAST_CLAIM_SIZE); + bytes.extend_from_slice(&last_claim.epoch_index.to_be_bytes()); + bytes.extend_from_slice(&last_claim.time_ms.to_be_bytes()); + bytes.extend_from_slice(last_claim.claimant_id.as_slice()); + bytes +} + +/// Reads a stored last claim. +pub fn decode_last_claim(value: &[u8]) -> Result { + let bytes: &[u8; CONTRACT_FEE_POT_LAST_CLAIM_SIZE] = value.try_into().map_err(|_| { + format!( + "expected {} bytes, got {}", + CONTRACT_FEE_POT_LAST_CLAIM_SIZE, + value.len() + ) + })?; + let (epoch_index, rest) = bytes.split_at(2); + let (time_ms, claimant_id) = rest.split_at(8); + let malformed = |what: &str| format!("the {what} of a last claim has the wrong length"); + Ok(ContractFeePotLastClaim { + epoch_index: EpochIndex::from_be_bytes( + epoch_index + .try_into() + .map_err(|_| malformed("epoch index"))?, + ), + time_ms: TimestampMillis::from_be_bytes( + time_ms.try_into().map_err(|_| malformed("block time"))?, + ), + claimant_id: Identifier::from_bytes(claimant_id).map_err(|_| malformed("claimant id"))?, + }) } -/// Reads a stored last claim epoch. -pub fn decode_epoch_index(value: &[u8]) -> Result { - let bytes: [u8; 2] = value - .try_into() - .map_err(|_| format!("expected 2 bytes, got {}", value.len()))?; - Ok(EpochIndex::from_be_bytes(bytes)) +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn should_round_trip_a_last_claim_through_its_stored_form() { + let last_claim = ContractFeePotLastClaim { + epoch_index: 0x0102, + time_ms: 0x0304_0506_0708_090a, + claimant_id: Identifier::from([0xee; 32]), + }; + let stored = encode_last_claim(&last_claim); + let mut expected = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + expected.extend_from_slice(&[0xee; 32]); + assert_eq!(stored, expected); + assert_eq!(decode_last_claim(&stored), Ok(last_claim)); + } + + #[test] + fn should_refuse_a_stored_last_claim_of_another_size() { + // The two bytes of the epoch alone, which is what a claim stored before it recorded + // its time and its claimant. + for stored in [vec![], vec![0, 7], vec![0; 41], vec![0; 43]] { + let err = decode_last_claim(&stored).expect_err("expected the value to be refused"); + assert!(err.contains("expected 42 bytes"), "{err}"); + } + } } diff --git a/packages/rs-drive/src/drive/contract/paths.rs b/packages/rs-drive/src/drive/contract/paths.rs index eb233a1d221..7472d5e0ae9 100644 --- a/packages/rs-drive/src/drive/contract/paths.rs +++ b/packages/rs-drive/src/drive/contract/paths.rs @@ -262,15 +262,15 @@ pub const PREFUNDED_BALANCES_FOR_CONTRACT_OWNER_FEES: u8 = 64; /// of the moderation team claims them for the team. pub const PREFUNDED_BALANCES_FOR_CONTRACT_MODERATOR_FEES: u8 = 192; -/// The key under a contract's other tree (`[64, id, 2]`) of the epoch its owner fee pot was last -/// claimed in, a two-byte big-endian item (protocol version 14). Absent until the first claim. -/// Below `128`, so the banlist stays on top of the other tree. -pub const CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY: u8 = 32; +/// The key under a contract's other tree (`[64, id, 2]`) of the last claim of its owner fee pot, +/// a 42 byte item: the epoch, the block time and the claimant (protocol version 14). Absent +/// until the first claim. Below `128`, so the banlist stays on top of the other tree. +pub const CONTRACT_LAST_OWNER_FEE_CLAIM_KEY: u8 = 32; -/// The key under a contract's other tree (`[64, id, 2]`) of the epoch its moderators fee pot was -/// last claimed in, a two-byte big-endian item (protocol version 14). Absent until the first -/// claim. Below `128`, so the banlist stays on top of the other tree. -pub const CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY: u8 = 96; +/// The key under a contract's other tree (`[64, id, 2]`) of the last claim of its moderators +/// fee pot, a 42 byte item: the epoch, the block time and the claimant (protocol version 14). +/// Absent until the first claim. Below `128`, so the banlist stays on top of the other tree. +pub const CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY: u8 = 96; /// The key, under the prefunded specialized balances tree, of the sum tree of a kind of pot. pub fn contract_fee_pots_key(pot: ContractFeePot) -> &'static [u8; 1] { @@ -296,10 +296,10 @@ pub fn contract_fee_pots_path_vec(pot: ContractFeePot) -> Vec> { ] } -/// The key, under a contract's other tree, of the epoch a pot was last claimed in. -pub fn contract_last_fee_claim_epoch_key(pot: ContractFeePot) -> &'static [u8; 1] { +/// The key, under a contract's other tree, of the last claim of a pot. +pub fn contract_last_fee_claim_key(pot: ContractFeePot) -> &'static [u8; 1] { match pot { - ContractFeePot::Owner => &[CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY], - ContractFeePot::Moderators => &[CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY], + ContractFeePot::Owner => &[CONTRACT_LAST_OWNER_FEE_CLAIM_KEY], + ContractFeePot::Moderators => &[CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY], } } diff --git a/packages/rs-drive/src/drive/contract/structure.rs b/packages/rs-drive/src/drive/contract/structure.rs index dfb3ebab819..286b197503f 100644 --- a/packages/rs-drive/src/drive/contract/structure.rs +++ b/packages/rs-drive/src/drive/contract/structure.rs @@ -1,6 +1,6 @@ use crate::drive::contract::paths::{ - CONTRACT_BANLIST_KEY, CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY, - CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY, CONTRACT_OTHER_KEY, CONTRACT_SUSPENSIONS_KEY, + CONTRACT_BANLIST_KEY, CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY, + CONTRACT_LAST_OWNER_FEE_CLAIM_KEY, CONTRACT_OTHER_KEY, CONTRACT_SUSPENSIONS_KEY, CONTRACT_VERSION_KEY, }; use crate::drive::document::structure::document_type; @@ -106,32 +106,44 @@ pub(crate) fn structure() -> StructureNode { update.", ), StructureNode::fixed( - "last_owner_fee_claim_epoch", - &[CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY], - "LastOwnerFeeClaimEpoch", - "CONTRACT_LAST_OWNER_FEE_CLAIM_EPOCH_KEY", + "last_owner_fee_claim", + &[CONTRACT_LAST_OWNER_FEE_CLAIM_KEY], + "LastOwnerFeeClaim", + "CONTRACT_LAST_OWNER_FEE_CLAIM_KEY", ) .kind(ElementKind::Item) .lazy() - .value("epoch index, u16 big endian") + .value( + "42 bytes: epoch index, u16 big endian; block time in \ + milliseconds, u64 big endian; claimant identity id", + ) .describe( - "The epoch the contract's owner fee pot was last \ - claimed in. Written by the first claim; a pot is \ - claimed at most once per epoch.", + "The last claim of the contract's owner fee pot: the \ + epoch and the block time it was paid out in, and \ + the identity that claimed, which is the contract \ + owner. Written by the first claim and replaced by \ + every later one; a pot is claimed at most once per \ + epoch.", ), StructureNode::fixed( - "last_moderators_fee_claim_epoch", - &[CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY], - "LastModeratorsFeeClaimEpoch", - "CONTRACT_LAST_MODERATORS_FEE_CLAIM_EPOCH_KEY", + "last_moderators_fee_claim", + &[CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY], + "LastModeratorsFeeClaim", + "CONTRACT_LAST_MODERATORS_FEE_CLAIM_KEY", ) .kind(ElementKind::Item) .lazy() - .value("epoch index, u16 big endian") + .value( + "42 bytes: epoch index, u16 big endian; block time in \ + milliseconds, u64 big endian; claimant identity id", + ) .describe( - "The epoch the contract's moderators fee pot was \ - last claimed in. Written by the first claim; a \ - pot is claimed at most once per epoch.", + "The last claim of the contract's moderators fee \ + pot: the epoch and the block time it was paid out \ + in, and the member of the moderation team that \ + claimed it for the team. Written by the first \ + claim and replaced by every later one; a pot is \ + claimed at most once per epoch.", ), StructureNode::fixed( "banlist", diff --git a/packages/rs-drive/src/prove/prove_state_transition/v0/mod.rs b/packages/rs-drive/src/prove/prove_state_transition/v0/mod.rs index 849688101fc..6d4aee1b60a 100644 --- a/packages/rs-drive/src/prove/prove_state_transition/v0/mod.rs +++ b/packages/rs-drive/src/prove/prove_state_transition/v0/mod.rs @@ -290,7 +290,7 @@ impl Drive { &platform_version.drive.grove_version, )? } - // The pot the claim paid out with the epoch it was last claimed in, and the balance + // The pot the claim paid out with its last claim (epoch, time, claimant), and the balance // of every identity a payout of that pot goes to. StateTransition::ContractFeeClaim(st) => { let contract_id = st.data_contract_id(); diff --git a/packages/rs-drive/src/state_transition_action/action_convert_to_operations/contract/contract_fee_claim_transition.rs b/packages/rs-drive/src/state_transition_action/action_convert_to_operations/contract/contract_fee_claim_transition.rs index 3e9035b0345..ad96a3925ba 100644 --- a/packages/rs-drive/src/state_transition_action/action_convert_to_operations/contract/contract_fee_claim_transition.rs +++ b/packages/rs-drive/src/state_transition_action/action_convert_to_operations/contract/contract_fee_claim_transition.rs @@ -24,12 +24,12 @@ impl DriveHighLevelOperationConverter for ContractFeeClaimTransitionAction { .contract_fee_claim_transition { 0 => { + let last_claim = self.last_claim(); let ContractFeeClaimTransitionAction::V0(ContractFeeClaimTransitionActionV0 { claimant_id, data_contract_id: contract_id, identity_contract_nonce, pot, - epoch_index, payouts, .. }) = self; @@ -62,10 +62,10 @@ impl DriveHighLevelOperationConverter for ContractFeeClaimTransitionAction { }) })); operations.push(ContractFeePotOperation( - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id, pot, - epoch_index, + last_claim, }, )); Ok(operations) diff --git a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/mod.rs b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/mod.rs index c69562446e1..dc7781c3683 100644 --- a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/mod.rs +++ b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/mod.rs @@ -6,7 +6,7 @@ pub mod v0; use crate::state_transition_action::contract::contract_fee_claim::v0::ContractFeeClaimTransitionActionV0; use derive_more::From; use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::fee::Credits; use dpp::platform_value::Identifier; use dpp::prelude::{IdentityNonce, UserFeeIncrease}; @@ -56,6 +56,18 @@ impl ContractFeeClaimTransitionAction { } } + /// What the claim records as the pot's last claim: its epoch, the time of its block and + /// the claimant + pub fn last_claim(&self) -> ContractFeePotLastClaim { + match self { + ContractFeeClaimTransitionAction::V0(action) => ContractFeePotLastClaim { + epoch_index: action.epoch_index, + time_ms: action.time_ms, + claimant_id: action.claimant_id, + }, + } + } + /// What each recipient is paid pub fn payouts(&self) -> &BTreeMap { match self { diff --git a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/transformer.rs b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/transformer.rs index 52edeb27fef..ed85aa38e02 100644 --- a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/transformer.rs @@ -3,15 +3,17 @@ use crate::state_transition_action::contract::contract_fee_claim::ContractFeeCla use dpp::block::epoch::EpochIndex; use dpp::fee::Credits; use dpp::identifier::Identifier; +use dpp::prelude::TimestampMillis; use dpp::state_transition::contract_fee_claim_transition::ContractFeeClaimTransition; use std::collections::BTreeMap; impl ContractFeeClaimTransitionAction { - /// The action of a borrowed transition, carrying the epoch of the claim and what each - /// recipient is paid + /// The action of a borrowed transition, carrying the epoch and the block time of the claim + /// and what each recipient is paid pub fn from_borrowed_transition_with_payouts( value: &ContractFeeClaimTransition, epoch_index: EpochIndex, + time_ms: TimestampMillis, payouts: BTreeMap, ) -> Self { match value { @@ -19,6 +21,7 @@ impl ContractFeeClaimTransitionAction { ContractFeeClaimTransitionActionV0::from_borrowed_transition_with_payouts( v0, epoch_index, + time_ms, payouts, ) .into() diff --git a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/mod.rs b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/mod.rs index ec2c6a65578..a227cd97d9e 100644 --- a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/mod.rs +++ b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/mod.rs @@ -4,7 +4,7 @@ use dpp::block::epoch::EpochIndex; use dpp::data_contract::document_type::action_fees::ContractFeePot; use dpp::fee::Credits; use dpp::identifier::Identifier; -use dpp::prelude::{IdentityNonce, UserFeeIncrease}; +use dpp::prelude::{IdentityNonce, TimestampMillis, UserFeeIncrease}; use std::collections::BTreeMap; /// action v0 @@ -18,8 +18,10 @@ pub struct ContractFeeClaimTransitionActionV0 { pub identity_contract_nonce: IdentityNonce, /// the pot that is paid out pub pot: ContractFeePot, - /// the epoch of the claim, recorded as the pot's last claim epoch + /// the epoch of the claim, recorded with the pot's last claim pub epoch_index: EpochIndex, + /// the time of the block the claim executes in, recorded with the pot's last claim + pub time_ms: TimestampMillis, /// what each recipient is paid, as settled when the transition was validated: the whole /// owner pot to the contract owner, or an equal share of the moderators pot to every /// member of the moderation team. Never empty, and every amount is above zero. diff --git a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/transformer.rs b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/transformer.rs index 9d10b379662..b477713201f 100644 --- a/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/transformer.rs +++ b/packages/rs-drive/src/state_transition_action/contract/contract_fee_claim/v0/transformer.rs @@ -2,15 +2,17 @@ use crate::state_transition_action::contract::contract_fee_claim::v0::ContractFe use dpp::block::epoch::EpochIndex; use dpp::fee::Credits; use dpp::identifier::Identifier; +use dpp::prelude::TimestampMillis; use dpp::state_transition::contract_fee_claim_transition::v0::ContractFeeClaimTransitionV0; use std::collections::BTreeMap; impl ContractFeeClaimTransitionActionV0 { - /// The action of a borrowed transition, carrying the epoch of the claim and what each - /// recipient is paid + /// The action of a borrowed transition, carrying the epoch and the block time of the claim + /// and what each recipient is paid pub fn from_borrowed_transition_with_payouts( value: &ContractFeeClaimTransitionV0, epoch_index: EpochIndex, + time_ms: TimestampMillis, payouts: BTreeMap, ) -> Self { let ContractFeeClaimTransitionV0 { @@ -27,6 +29,7 @@ impl ContractFeeClaimTransitionActionV0 { identity_contract_nonce: *identity_contract_nonce, pot: *pot, epoch_index, + time_ms, payouts, user_fee_increase: *user_fee_increase, } diff --git a/packages/rs-drive/src/structure/tests.rs b/packages/rs-drive/src/structure/tests.rs index 04681aeebdb..809ea48d2b6 100644 --- a/packages/rs-drive/src/structure/tests.rs +++ b/packages/rs-drive/src/structure/tests.rs @@ -324,7 +324,7 @@ mod fixtures { }; use dpp::data_contract::config::v0::{DataContractConfigSettersV0, DataContractConfigV0}; use dpp::data_contract::config::DataContractConfig; - use dpp::data_contract::document_type::action_fees::ContractFeePot; + use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::data_contract::document_type::random_document::CreateRandomDocument; use dpp::data_contract::group::v0::GroupV0; use dpp::data_contract::group::Group; @@ -705,8 +705,8 @@ mod fixtures { platform_version, ) .expect("expected to suspend"); - // Both fee pots hold credits and were claimed once: the pots and the last claim - // epochs are created on first use. + // Both fee pots hold credits and were claimed once: the pots and the last claims + // are created on first use. let fee_pot_operations = [ContractFeePot::Owner, ContractFeePot::Moderators] .into_iter() .flat_map(|pot| { @@ -716,10 +716,14 @@ mod fixtures { pot, amount: 1_000, }, - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id: contract.id(), pot, - epoch_index: 3, + last_claim: ContractFeePotLastClaim { + epoch_index: 3, + time_ms: 1_700_000_000_000, + claimant_id: contract.owner_id(), + }, }, ] }) diff --git a/packages/rs-drive/src/util/batch/drive_op_batch/contract_fee_pot.rs b/packages/rs-drive/src/util/batch/drive_op_batch/contract_fee_pot.rs index 878e8aa917f..7155b5c6f7b 100644 --- a/packages/rs-drive/src/util/batch/drive_op_batch/contract_fee_pot.rs +++ b/packages/rs-drive/src/util/batch/drive_op_batch/contract_fee_pot.rs @@ -4,8 +4,7 @@ use crate::fees::op::LowLevelDriveOperation; use crate::util::batch::drive_op_batch::DriveLowLevelOperationConverter; use dpp::balances::credits::Credits; use dpp::block::block_info::BlockInfo; -use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::identifier::Identifier; use grovedb::batch::KeyInfoPath; use grovedb::{EstimatedLayerInformation, TransactionArg}; @@ -37,14 +36,14 @@ pub enum ContractFeePotOperationType { /// The credits to take out. amount: Credits, }, - /// Records the epoch a pot was claimed in. - SetLastClaimEpoch { + /// Records the claim that paid a pot out. + SetLastClaim { /// The contract the pot belongs to. contract_id: Identifier, /// The pot. pot: ContractFeePot, - /// The epoch of the claim. - epoch_index: EpochIndex, + /// The claim: its epoch, its block time and who claimed. + last_claim: ContractFeePotLastClaim, }, } @@ -84,14 +83,14 @@ impl DriveLowLevelOperationConverter for ContractFeePotOperationType { transaction, platform_version, ), - ContractFeePotOperationType::SetLastClaimEpoch { + ContractFeePotOperationType::SetLastClaim { contract_id, pot, - epoch_index, - } => drive.set_contract_last_fee_claim_epoch_operations( + last_claim, + } => drive.set_contract_last_fee_claim_operations( contract_id, pot, - epoch_index, + &last_claim, estimated_costs_only_with_layer_info, platform_version, ), diff --git a/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/mod.rs b/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/mod.rs index 75729d08f8d..6706e1909a7 100644 --- a/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/mod.rs +++ b/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/mod.rs @@ -11,7 +11,7 @@ use dpp::version::PlatformVersion; impl Drive { /// Verifies the proof of a contract's fee pots: the credits each proved pot holds and the - /// epoch it was last claimed in. + /// last claim: its epoch, its block time and who claimed. /// /// Only the pots in `pots` are proved. The other one is returned empty and never claimed, /// which says nothing about it: callers that did not ask for a pot must not read it. diff --git a/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/v0/mod.rs b/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/v0/mod.rs index 58a22136157..1ce8e5c20dc 100644 --- a/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/v0/mod.rs +++ b/packages/rs-drive/src/verify/contract_moderation/verify_contract_fee_pots/v0/mod.rs @@ -1,6 +1,6 @@ -use crate::drive::contract::fee_pots::types::{decode_epoch_index, ContractFeePots}; +use crate::drive::contract::fee_pots::types::{decode_last_claim, ContractFeePots}; use crate::drive::contract::paths::{ - contract_fee_pots_key, contract_last_fee_claim_epoch_key, CONTRACT_OTHER_KEY, + contract_fee_pots_key, contract_last_fee_claim_key, CONTRACT_OTHER_KEY, }; use crate::drive::Drive; use crate::error::proof::ProofError; @@ -42,10 +42,10 @@ impl Drive { }; let in_other_tree = path.last().map(Vec::as_slice) == Some(&[CONTRACT_OTHER_KEY]); if in_other_tree { - // A last claim epoch: `[64, contract id, 2] -> 32 | 96` + // A last claim: `[64, contract id, 2] -> 32 | 96` let Some(pot) = pots .iter() - .find(|pot| key.as_slice() == contract_last_fee_claim_epoch_key(**pot)) + .find(|pot| key.as_slice() == contract_last_fee_claim_key(**pot)) else { return Err(Error::Proof(ProofError::CorruptedProof( "contract fee pots proof holds an entry outside the pots asked for" @@ -54,13 +54,13 @@ impl Drive { }; let Element::Item(value, _) = element else { return Err(Error::Proof(ProofError::CorruptedProof( - "contract fee pot last claim epoch is not an item".to_string(), + "contract fee pot last claim is not an item".to_string(), ))); }; - fee_pots.pot_mut(*pot).last_claim_epoch = - Some(decode_epoch_index(&value).map_err(|description| { + fee_pots.pot_mut(*pot).last_claim = + Some(decode_last_claim(&value).map_err(|description| { Error::Proof(ProofError::CorruptedProof(format!( - "contract fee pot last claim epoch is malformed: {}", + "contract fee pot last claim is malformed: {}", description ))) })?); diff --git a/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs b/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs index 02bfef5fea7..c38555b03de 100644 --- a/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs +++ b/packages/rs-drive/src/verify/state_transition/verify_state_transition_was_executed_with_proof/v0/mod.rs @@ -1234,7 +1234,7 @@ impl Drive { .map(|recipient| recipient.to_buffer()) .collect(); - // The proof holds the pot with its last claim epoch and the recipients' + // The proof holds the pot with its last claim and the recipients' // balances; each part is verified as a subset of it, and they must agree on // the state they are read from. let (root_hash, fee_pots) = Drive::verify_contract_fee_pots( @@ -1261,12 +1261,13 @@ impl Drive { } let fee_pot = fee_pots.pot(pot); - // A pot that was never claimed has no last claim epoch: the claim did not - // execute. A later claim leaves a later epoch and verifies just the same, so - // this only authenticates the affected state. - let last_claim_epoch = + // A pot that was never claimed has no last claim: the claim did not execute. + // A later claim leaves its own and verifies just the same, so this only + // authenticates the affected state. The last claim names its claimant and + // its block time, which tell the caller whether it is this claim. + let last_claim = fee_pot - .last_claim_epoch + .last_claim .ok_or(Error::Proof(ProofError::IncorrectProof(format!( "proof of state transition execution does not show a claim of the {} fee pot of contract {}", pot, contract_id @@ -1287,7 +1288,7 @@ impl Drive { VerifiedContractFeeClaim( contract_id, pot, - last_claim_epoch, + last_claim, fee_pot.credits, balances, ), diff --git a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/mod.rs b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/mod.rs index 50d5ab67c3b..b52f19ea2d6 100644 --- a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/mod.rs +++ b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/mod.rs @@ -45,7 +45,7 @@ pub struct DriveContractFeePotMethodVersions { pub deduct_from_contract_fee_pot: FeatureVersion, pub fetch_contract_fee_pot: FeatureVersion, pub fetch_action_fee_multiplier: FeatureVersion, - pub set_contract_last_fee_claim_epoch: FeatureVersion, + pub set_contract_last_fee_claim: FeatureVersion, pub prove_contract_fee_pots: FeatureVersion, pub add_estimation_costs_for_contract_fee_pot_update: FeatureVersion, } diff --git a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v1.rs b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v1.rs index f17072ceb20..e726006dcde 100644 --- a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v1.rs +++ b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v1.rs @@ -63,7 +63,7 @@ pub const DRIVE_CONTRACT_METHOD_VERSIONS_V1: DriveContractMethodVersions = deduct_from_contract_fee_pot: 0, fetch_contract_fee_pot: 0, fetch_action_fee_multiplier: 0, - set_contract_last_fee_claim_epoch: 0, + set_contract_last_fee_claim: 0, prove_contract_fee_pots: 0, add_estimation_costs_for_contract_fee_pot_update: 0, }, diff --git a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v2.rs b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v2.rs index 8a4272f4835..811afedd006 100644 --- a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v2.rs +++ b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v2.rs @@ -63,7 +63,7 @@ pub const DRIVE_CONTRACT_METHOD_VERSIONS_V2: DriveContractMethodVersions = deduct_from_contract_fee_pot: 0, fetch_contract_fee_pot: 0, fetch_action_fee_multiplier: 0, - set_contract_last_fee_claim_epoch: 0, + set_contract_last_fee_claim: 0, prove_contract_fee_pots: 0, add_estimation_costs_for_contract_fee_pot_update: 0, }, diff --git a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v3.rs b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v3.rs index 7e9cfffd04e..0f778446ccb 100644 --- a/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v3.rs +++ b/packages/rs-platform-version/src/version/drive_versions/drive_contract_method_versions/v3.rs @@ -74,7 +74,7 @@ pub const DRIVE_CONTRACT_METHOD_VERSIONS_V3: DriveContractMethodVersions = deduct_from_contract_fee_pot: 0, fetch_contract_fee_pot: 0, fetch_action_fee_multiplier: 0, - set_contract_last_fee_claim_epoch: 0, + set_contract_last_fee_claim: 0, prove_contract_fee_pots: 0, add_estimation_costs_for_contract_fee_pot_update: 0, }, diff --git a/packages/rs-sdk/src/mock/requests.rs b/packages/rs-sdk/src/mock/requests.rs index ef120e88bb3..f33c150d3a8 100644 --- a/packages/rs-sdk/src/mock/requests.rs +++ b/packages/rs-sdk/src/mock/requests.rs @@ -27,7 +27,7 @@ use dpp::{ use drive::grovedb::Element; use drive_proof_verifier::types::identity_keys_remaining_budgets::IdentityKeysRemainingBudgets; use drive_proof_verifier::types::contract_moderation::{ - ContractFeePotState, ContractFeePots, ContractModerationEntries, ContractModerationEntry, ContractModerationListStatus, + ContractFeePotLastClaim, ContractFeePotState, ContractFeePots, ContractModerationEntries, ContractModerationEntry, ContractModerationListStatus, ContractModerationListStatuses, ContractModerationReason, }; use drive_proof_verifier::types::contract_groups::{ @@ -411,9 +411,9 @@ impl MockResponse for ContractModerationListStatuses { impl MockResponse for ContractFeePots { fn mock_serialize(&self, _sdk: &MockDashPlatformSdk) -> Vec { - let pots: [(u64, Option); 2] = [ - (self.owner.credits, self.owner.last_claim_epoch), - (self.moderators.credits, self.moderators.last_claim_epoch), + let pots: [(u64, Option); 2] = [ + (self.owner.credits, self.owner.last_claim), + (self.moderators.credits, self.moderators.last_claim), ]; bincode::encode_to_vec(pots, BINCODE_CONFIG).expect("encode ContractFeePots") } @@ -422,11 +422,11 @@ impl MockResponse for ContractFeePots { where Self: Sized, { - let ([owner, moderators], _): ([(u64, Option); 2], usize) = + let ([owner, moderators], _): ([(u64, Option); 2], usize) = bincode::decode_from_slice(buf, BINCODE_CONFIG).expect("decode ContractFeePots"); - let pot = |(credits, last_claim_epoch)| ContractFeePotState { + let pot = |(credits, last_claim)| ContractFeePotState { credits, - last_claim_epoch, + last_claim, }; ContractFeePots { owner: pot(owner), diff --git a/packages/rs-sdk/src/platform/contract_fee_pots.rs b/packages/rs-sdk/src/platform/contract_fee_pots.rs index 3f28479d58e..c08ac170d10 100644 --- a/packages/rs-sdk/src/platform/contract_fee_pots.rs +++ b/packages/rs-sdk/src/platform/contract_fee_pots.rs @@ -1,6 +1,6 @@ //! The fee pots of a data contract (`getContractFeePots`): what the document action fees of -//! the contract have paid into the owner pot and the moderators pot, and the epoch each pot was -//! last paid out in. +//! the contract have paid into the owner pot and the moderators pot, and the last claim of each +//! pot: the epoch and the block time it was paid out in, and the identity that claimed it. //! //! A document type prices its actions with the `actionFees` keyword. What a fee collects waits //! in a pot until a [`ContractFeeClaim`](dpp::state_transition::contract_fee_claim_transition) @@ -8,7 +8,8 @@ //! which a pot allows once per epoch. The pots tell a recipient whether a claim is worth //! sending: [`ContractFeePotState::credits`] is what it would pay, and a //! [`ContractFeePotState::last_claim_epoch`] equal to the current epoch means the pot was -//! already paid out in it. +//! already paid out in it. [`ContractFeePotState::last_claim`] also tells a member of the +//! moderation team which member last claimed for the team, and when. //! //! [`ContractFeePots::fetch`] takes the contract id, or a [`ContractFeePotsQuery`]. A contract //! that charges no fees, or whose fees nobody has paid yet, reads as two empty pots. A contract @@ -21,7 +22,7 @@ use crate::Error; use dapi_grpc::platform::v0::get_contract_fee_pots_request::GetContractFeePotsRequestV0; use dapi_grpc::platform::v0::{get_contract_fee_pots_request, GetContractFeePotsRequest}; pub use drive_proof_verifier::types::contract_moderation::{ - ContractFeePot, ContractFeePotState, ContractFeePots, + ContractFeePot, ContractFeePotLastClaim, ContractFeePotState, ContractFeePots, }; /// Query for the fee pots of a contract. diff --git a/packages/rs-sdk/src/platform/transition/contract_fee_claim.rs b/packages/rs-sdk/src/platform/transition/contract_fee_claim.rs index e08059eef99..b0dfdb9568e 100644 --- a/packages/rs-sdk/src/platform/transition/contract_fee_claim.rs +++ b/packages/rs-sdk/src/platform/transition/contract_fee_claim.rs @@ -13,8 +13,7 @@ //! .await?; //! ``` -use dpp::block::epoch::EpochIndex; -use dpp::data_contract::document_type::action_fees::ContractFeePot; +use dpp::data_contract::document_type::action_fees::{ContractFeePot, ContractFeePotLastClaim}; use dpp::fee::Credits; use dpp::identity::accessors::IdentityGettersV0; use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0; @@ -43,9 +42,9 @@ pub struct ClaimedContractFees { pub contract_id: Identifier, /// The pot that was paid out pub pot: ContractFeePot, - /// The epoch the pot was last claimed in: the epoch of this claim, unless the pot was - /// claimed again since - pub last_claim_epoch: EpochIndex, + /// The last claim of the pot, which is this claim unless the pot was claimed again since: + /// its epoch, the time of its block and the identity that signed it + pub last_claim: ContractFeePotLastClaim, /// The credits left in the pot: what an equal split left over, and any fee collected /// since the claim pub remaining_credits: Credits, @@ -61,13 +60,13 @@ impl TryFrom for ClaimedContractFees { StateTransitionProofResult::VerifiedContractFeeClaim( contract_id, pot, - last_claim_epoch, + last_claim, remaining_credits, balances, ) => Ok(Self { contract_id, pot, - last_claim_epoch, + last_claim, remaining_credits, balances, }), diff --git a/packages/rs-sdk/tests/fetch/mock_fetch.rs b/packages/rs-sdk/tests/fetch/mock_fetch.rs index 620cb219b0b..769fd7cdb97 100644 --- a/packages/rs-sdk/tests/fetch/mock_fetch.rs +++ b/packages/rs-sdk/tests/fetch/mock_fetch.rs @@ -161,7 +161,7 @@ async fn test_mock_fetch_document() { /// I get the same pots, a pot paid out in epoch 0 apart from one that never was async fn should_fetch_mocked_contract_fee_pots_by_contract_id() { use dash_sdk::platform::contract_fee_pots::{ - ContractFeePotState, ContractFeePots, ContractFeePotsQuery, + ContractFeePotLastClaim, ContractFeePotState, ContractFeePots, ContractFeePotsQuery, }; let mut sdk = Sdk::new_mock(); @@ -170,11 +170,15 @@ async fn should_fetch_mocked_contract_fee_pots_by_contract_id() { let expected = ContractFeePots { owner: ContractFeePotState { credits: 10_000_000, - last_claim_epoch: None, + last_claim: None, }, moderators: ContractFeePotState { credits: u64::MAX, - last_claim_epoch: Some(0), + last_claim: Some(ContractFeePotLastClaim { + epoch_index: 0, + time_ms: 1_700_000_000_000, + claimant_id: Identifier::from([9u8; 32]), + }), }, }; diff --git a/packages/wasm-dpp2/src/state_transitions/proof_result/convert.rs b/packages/wasm-dpp2/src/state_transitions/proof_result/convert.rs index 32b351895e5..ea2d2ca2569 100644 --- a/packages/wasm-dpp2/src/state_transitions/proof_result/convert.rs +++ b/packages/wasm-dpp2/src/state_transitions/proof_result/convert.rs @@ -367,7 +367,7 @@ pub fn convert_proof_result( StateTransitionProofResult::VerifiedContractFeeClaim( contract_id, pot, - last_claim_epoch, + last_claim, remaining_credits, balances, ) => { @@ -379,7 +379,9 @@ pub fn convert_proof_result( VerifiedContractFeeClaimWasm { contract_id: contract_id.into(), pot: pot.to_string(), - last_claim_epoch, + last_claim_epoch: last_claim.epoch_index, + last_claim_time_ms: last_claim.time_ms, + last_claimant_id: last_claim.claimant_id.into(), remaining_credits, balances, } diff --git a/packages/wasm-dpp2/src/state_transitions/proof_result/data_contract.rs b/packages/wasm-dpp2/src/state_transitions/proof_result/data_contract.rs index 6e20ca6c82f..2f00414ea24 100644 --- a/packages/wasm-dpp2/src/state_transitions/proof_result/data_contract.rs +++ b/packages/wasm-dpp2/src/state_transitions/proof_result/data_contract.rs @@ -208,9 +208,10 @@ impl_wasm_type_info!( ); /// `VerifiedContractFeeClaim` proof-result wrapper: the pot a contract fee claim paid out (the -/// contract, the pot, the epoch the pot was last claimed in, the credits left in it) and the -/// balance of every identity the claim paid, after the claim. A pot is paid out at most once -/// per epoch, so while `lastClaimEpoch` is the epoch of the claim the proof is of that claim. +/// contract, the pot, its last claim, the credits left in it) and the balance of every identity +/// the claim paid, after the claim. A pot is paid out at most once per epoch, so while +/// `lastClaimEpoch` is the epoch of the claim the proof is of that claim, and `lastClaimantId` +/// and `lastClaimTimeMs` are its own. #[wasm_bindgen(js_name = "VerifiedContractFeeClaim")] #[derive(Clone)] pub struct VerifiedContractFeeClaimWasm { @@ -223,12 +224,22 @@ pub struct VerifiedContractFeeClaimWasm { /// again since #[wasm_bindgen(js_name = "lastClaimEpoch")] pub last_claim_epoch: u16, + pub(super) last_claim_time_ms: u64, + /// The identity that signed the last claim of the pot + #[wasm_bindgen(getter_with_clone, js_name = "lastClaimantId")] + pub last_claimant_id: IdentifierWasm, pub(super) remaining_credits: u64, pub(super) balances: Map, // Map } #[wasm_bindgen(js_class = VerifiedContractFeeClaim)] impl VerifiedContractFeeClaimWasm { + /// The time, in milliseconds, of the block the pot was last paid out in + #[wasm_bindgen(getter = "lastClaimTimeMs")] + pub fn last_claim_time_ms(&self) -> JsValue { + BigInt::from(self.last_claim_time_ms).into() + } + /// The credits left in the pot after the claim #[wasm_bindgen(getter = "remainingCredits")] pub fn remaining_credits(&self) -> JsValue { @@ -250,6 +261,11 @@ impl VerifiedContractFeeClaimWasm { "lastClaimEpoch", JsValue::from_f64(self.last_claim_epoch as f64), ), + ( + "lastClaimTimeMs", + BigInt::from(self.last_claim_time_ms).into(), + ), + ("lastClaimantId", self.last_claimant_id.into()), ( "remainingCredits", BigInt::from(self.remaining_credits).into(), @@ -273,6 +289,15 @@ impl VerifiedContractFeeClaimWasm { "lastClaimEpoch", JsValue::from_f64(self.last_claim_epoch as f64), ), + // A block time in milliseconds stays exact as a JavaScript number. + ( + "lastClaimTimeMs", + JsValue::from_f64(self.last_claim_time_ms as f64), + ), + ( + "lastClaimantId", + JsValue::from_str(&self.last_claimant_id.to_base58()), + ), ( "remainingCredits", json_safe_credits(self.remaining_credits), diff --git a/packages/wasm-sdk/src/queries/contract_fee_pots.rs b/packages/wasm-sdk/src/queries/contract_fee_pots.rs index f838245e64a..771cf84b7a2 100644 --- a/packages/wasm-sdk/src/queries/contract_fee_pots.rs +++ b/packages/wasm-sdk/src/queries/contract_fee_pots.rs @@ -1,5 +1,6 @@ //! The fee pots of a data contract (`getContractFeePots`): what its document action fees have -//! paid into the owner pot and the moderators pot, and the epoch each was last paid out in. +//! paid into the owner pot and the moderators pot, and the last claim of each: the epoch and +//! the block time it was paid out in, and the identity that claimed it. use crate::error::WasmSdkError; use crate::queries::ProofMetadataResponseWasm; @@ -8,7 +9,7 @@ use dash_sdk::platform::contract_fee_pots::{ContractFeePotState, ContractFeePots use dash_sdk::platform::{Fetch, Identifier}; use wasm_bindgen::prelude::wasm_bindgen; use wasm_bindgen::JsValue; -use wasm_dpp2::identifier::IdentifierLikeJs; +use wasm_dpp2::identifier::{IdentifierLikeJs, IdentifierWasm}; #[wasm_bindgen(typescript_custom_section)] const CONTRACT_FEE_POTS_TS: &'static str = r#" @@ -24,6 +25,14 @@ export interface ContractFeePotState { * most once per epoch, so a claim in this epoch is refused. */ lastClaimEpoch?: number; + /** The time, in milliseconds, of the block that last paid the pot out; set with `lastClaimEpoch`. */ + lastClaimTimeMs?: bigint; + /** + * The identity that signed the last claim, base58; set with `lastClaimEpoch`. The contract + * owner for the owner pot, and for the moderators pot the member of the moderation team + * that claimed it for the team. + */ + lastClaimantId?: string; } /** @@ -51,9 +60,17 @@ fn pot_to_js(pot: &ContractFeePotState) -> Result { .map_err(|_| WasmSdkError::generic(format!("failed to set `{key}` on the fee pot"))) }; set("credits", js_sys::BigInt::from(pot.credits).into())?; - // Epoch 0 is an epoch a pot can have been paid out in, so "never" is the absent field. - if let Some(epoch) = pot.last_claim_epoch { - set("lastClaimEpoch", JsValue::from(epoch))?; + // Epoch 0 is an epoch a pot can have been paid out in, so "never" is the absent fields. + if let Some(last_claim) = pot.last_claim { + set("lastClaimEpoch", JsValue::from(last_claim.epoch_index))?; + set( + "lastClaimTimeMs", + js_sys::BigInt::from(last_claim.time_ms).into(), + )?; + set( + "lastClaimantId", + JsValue::from_str(&IdentifierWasm::from(last_claim.claimant_id).to_base58()), + )?; } Ok(result.into()) } @@ -70,8 +87,8 @@ fn pots_to_js(pots: &ContractFeePots) -> Result { #[wasm_bindgen] impl WasmSdk { /// What the document action fees of a contract have collected for its owner and for its - /// moderation team, and the epoch each pot was last paid out in. Use it to decide whether - /// a `contractClaimFees` is worth sending. + /// moderation team, and the last claim of each pot: its epoch, its block time and who + /// claimed. Use it to decide whether a `contractClaimFees` is worth sending. /// /// # Example /// ```javascript diff --git a/packages/wasm-sdk/src/state_transitions/contract.rs b/packages/wasm-sdk/src/state_transitions/contract.rs index fcd399b5c71..529d849ef87 100644 --- a/packages/wasm-sdk/src/state_transitions/contract.rs +++ b/packages/wasm-sdk/src/state_transitions/contract.rs @@ -490,6 +490,10 @@ export interface ContractClaimFeesResult { pot: ContractFeePotKind; /** The epoch the pot was last paid out in: the epoch of this claim, unless it was claimed again since */ lastClaimEpoch: number; + /** The time, in milliseconds, of the block that last paid the pot out */ + lastClaimTimeMs: bigint; + /** The identity that signed the last claim of the pot: the claiming identity, unless it was claimed again since */ + lastClaimantId: Identifier; /** The credits left in the pot: what an equal split left over, and any fee collected since */ remainingCredits: bigint; /** The balance, after the claim, of every identity the pot pays, keyed by base58 identity id */ @@ -580,7 +584,18 @@ impl WasmSdk { } .into(), )?; - set("lastClaimEpoch", JsValue::from(claimed.last_claim_epoch))?; + set( + "lastClaimEpoch", + JsValue::from(claimed.last_claim.epoch_index), + )?; + set( + "lastClaimTimeMs", + js_sys::BigInt::from(claimed.last_claim.time_ms).into(), + )?; + set( + "lastClaimantId", + IdentifierWasm::from(claimed.last_claim.claimant_id).into(), + )?; set( "remainingCredits", js_sys::BigInt::from(claimed.remaining_credits).into(), From 6023e317ed5526336dc533b7de9736f6595f625a Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Sun, 20 Sep 2026 19:20:43 +0700 Subject: [PATCH 6/6] chore(dapi-grpc): regenerate the clients for the last claim of a fee pot Co-Authored-By: Claude Fable 5.1 --- .../clients/drive/v0/nodejs/drive_pbjs.js | 290 ++- .../platform/v0/nodejs/platform_pbjs.js | 290 ++- .../platform/v0/nodejs/platform_protoc.js | 275 ++- .../platform/v0/objective-c/Platform.pbobjc.h | 34 +- .../platform/v0/objective-c/Platform.pbobjc.m | 83 +- .../platform/v0/python/platform_pb2.py | 1552 +++++++++-------- .../clients/platform/v0/web/platform_pb.d.ts | 40 +- .../clients/platform/v0/web/platform_pb.js | 275 ++- 8 files changed, 2005 insertions(+), 834 deletions(-) diff --git a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js index 5d7f75ba63e..8d6821d9dea 100644 --- a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js +++ b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js @@ -27728,6 +27728,261 @@ $root.org = (function() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + GetContractFeePotsResponse.ContractFeePotLastClaim = (function() { + + /** + * Properties of a ContractFeePotLastClaim. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePotLastClaim + * @property {number|null} [epoch] ContractFeePotLastClaim epoch + * @property {number|Long|null} [timeMs] ContractFeePotLastClaim timeMs + * @property {Uint8Array|null} [claimantId] ContractFeePotLastClaim claimantId + */ + + /** + * Constructs a new ContractFeePotLastClaim. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePotLastClaim. + * @implements IContractFeePotLastClaim + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim=} [properties] Properties to set + */ + function ContractFeePotLastClaim(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePotLastClaim epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.epoch = 0; + + /** + * ContractFeePotLastClaim timeMs. + * @member {number|Long} timeMs + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.timeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ContractFeePotLastClaim claimantId. + * @member {Uint8Array} claimantId + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.claimantId = $util.newBuffer([]); + + /** + * Creates a new ContractFeePotLastClaim instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim instance + */ + ContractFeePotLastClaim.create = function create(properties) { + return new ContractFeePotLastClaim(properties); + }; + + /** + * Encodes the specified ContractFeePotLastClaim message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim} message ContractFeePotLastClaim message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePotLastClaim.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.epoch); + if (message.timeMs != null && Object.hasOwnProperty.call(message, "timeMs")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.timeMs); + if (message.claimantId != null && Object.hasOwnProperty.call(message, "claimantId")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.claimantId); + return writer; + }; + + /** + * Encodes the specified ContractFeePotLastClaim message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim} message ContractFeePotLastClaim message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePotLastClaim.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePotLastClaim message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePotLastClaim.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.epoch = reader.uint32(); + break; + case 2: + message.timeMs = reader.uint64(); + break; + case 3: + message.claimantId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePotLastClaim message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePotLastClaim.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePotLastClaim message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePotLastClaim.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + if (message.timeMs != null && message.hasOwnProperty("timeMs")) + if (!$util.isInteger(message.timeMs) && !(message.timeMs && $util.isInteger(message.timeMs.low) && $util.isInteger(message.timeMs.high))) + return "timeMs: integer|Long expected"; + if (message.claimantId != null && message.hasOwnProperty("claimantId")) + if (!(message.claimantId && typeof message.claimantId.length === "number" || $util.isString(message.claimantId))) + return "claimantId: buffer expected"; + return null; + }; + + /** + * Creates a ContractFeePotLastClaim message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + */ + ContractFeePotLastClaim.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim(); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + if (object.timeMs != null) + if ($util.Long) + (message.timeMs = $util.Long.fromValue(object.timeMs)).unsigned = true; + else if (typeof object.timeMs === "string") + message.timeMs = parseInt(object.timeMs, 10); + else if (typeof object.timeMs === "number") + message.timeMs = object.timeMs; + else if (typeof object.timeMs === "object") + message.timeMs = new $util.LongBits(object.timeMs.low >>> 0, object.timeMs.high >>> 0).toNumber(true); + if (object.claimantId != null) + if (typeof object.claimantId === "string") + $util.base64.decode(object.claimantId, message.claimantId = $util.newBuffer($util.base64.length(object.claimantId)), 0); + else if (object.claimantId.length >= 0) + message.claimantId = object.claimantId; + return message; + }; + + /** + * Creates a plain object from a ContractFeePotLastClaim message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} message ContractFeePotLastClaim + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePotLastClaim.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.epoch = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.timeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timeMs = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.claimantId = ""; + else { + object.claimantId = []; + if (options.bytes !== Array) + object.claimantId = $util.newBuffer(object.claimantId); + } + } + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; + if (message.timeMs != null && message.hasOwnProperty("timeMs")) + if (typeof message.timeMs === "number") + object.timeMs = options.longs === String ? String(message.timeMs) : message.timeMs; + else + object.timeMs = options.longs === String ? $util.Long.prototype.toString.call(message.timeMs) : options.longs === Number ? new $util.LongBits(message.timeMs.low >>> 0, message.timeMs.high >>> 0).toNumber(true) : message.timeMs; + if (message.claimantId != null && message.hasOwnProperty("claimantId")) + object.claimantId = options.bytes === String ? $util.base64.encode(message.claimantId, 0, message.claimantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.claimantId) : message.claimantId; + return object; + }; + + /** + * Converts this ContractFeePotLastClaim to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + * @returns {Object.} JSON object + */ + ContractFeePotLastClaim.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePotLastClaim; + })(); + GetContractFeePotsResponse.ContractFeePot = (function() { /** @@ -27735,7 +27990,7 @@ $root.org = (function() { * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse * @interface IContractFeePot * @property {number|Long|null} [credits] ContractFeePot credits - * @property {number|null} [lastClaimEpoch] ContractFeePot lastClaimEpoch + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim|null} [lastClaim] ContractFeePot lastClaim */ /** @@ -27762,12 +28017,12 @@ $root.org = (function() { ContractFeePot.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * ContractFeePot lastClaimEpoch. - * @member {number} lastClaimEpoch + * ContractFeePot lastClaim. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim|null|undefined} lastClaim * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot * @instance */ - ContractFeePot.prototype.lastClaimEpoch = 0; + ContractFeePot.prototype.lastClaim = null; /** * Creates a new ContractFeePot instance using the specified properties. @@ -27795,8 +28050,8 @@ $root.org = (function() { writer = $Writer.create(); if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); - if (message.lastClaimEpoch != null && Object.hasOwnProperty.call(message, "lastClaimEpoch")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.lastClaimEpoch); + if (message.lastClaim != null && Object.hasOwnProperty.call(message, "lastClaim")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.encode(message.lastClaim, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -27835,7 +28090,7 @@ $root.org = (function() { message.credits = reader.uint64(); break; case 2: - message.lastClaimEpoch = reader.uint32(); + message.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -27875,9 +28130,11 @@ $root.org = (function() { if (message.credits != null && message.hasOwnProperty("credits")) if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) return "credits: integer|Long expected"; - if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) - if (!$util.isInteger(message.lastClaimEpoch)) - return "lastClaimEpoch: integer expected"; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify(message.lastClaim); + if (error) + return "lastClaim." + error; + } return null; }; @@ -27902,8 +28159,11 @@ $root.org = (function() { message.credits = object.credits; else if (typeof object.credits === "object") message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); - if (object.lastClaimEpoch != null) - message.lastClaimEpoch = object.lastClaimEpoch >>> 0; + if (object.lastClaim != null) { + if (typeof object.lastClaim !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.lastClaim: object expected"); + message.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.fromObject(object.lastClaim); + } return message; }; @@ -27926,15 +28186,15 @@ $root.org = (function() { object.credits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.credits = options.longs === String ? "0" : 0; - object.lastClaimEpoch = 0; + object.lastClaim = null; } if (message.credits != null && message.hasOwnProperty("credits")) if (typeof message.credits === "number") object.credits = options.longs === String ? String(message.credits) : message.credits; else object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; - if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) - object.lastClaimEpoch = message.lastClaimEpoch; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) + object.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(message.lastClaim, options); return object; }; diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js index d681ace9ef3..73c659700a7 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js @@ -27220,6 +27220,261 @@ $root.org = (function() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + GetContractFeePotsResponse.ContractFeePotLastClaim = (function() { + + /** + * Properties of a ContractFeePotLastClaim. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @interface IContractFeePotLastClaim + * @property {number|null} [epoch] ContractFeePotLastClaim epoch + * @property {number|Long|null} [timeMs] ContractFeePotLastClaim timeMs + * @property {Uint8Array|null} [claimantId] ContractFeePotLastClaim claimantId + */ + + /** + * Constructs a new ContractFeePotLastClaim. + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse + * @classdesc Represents a ContractFeePotLastClaim. + * @implements IContractFeePotLastClaim + * @constructor + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim=} [properties] Properties to set + */ + function ContractFeePotLastClaim(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ContractFeePotLastClaim epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.epoch = 0; + + /** + * ContractFeePotLastClaim timeMs. + * @member {number|Long} timeMs + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.timeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ContractFeePotLastClaim claimantId. + * @member {Uint8Array} claimantId + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + */ + ContractFeePotLastClaim.prototype.claimantId = $util.newBuffer([]); + + /** + * Creates a new ContractFeePotLastClaim instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim instance + */ + ContractFeePotLastClaim.create = function create(properties) { + return new ContractFeePotLastClaim(properties); + }; + + /** + * Encodes the specified ContractFeePotLastClaim message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim} message ContractFeePotLastClaim message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePotLastClaim.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.epoch); + if (message.timeMs != null && Object.hasOwnProperty.call(message, "timeMs")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.timeMs); + if (message.claimantId != null && Object.hasOwnProperty.call(message, "claimantId")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.claimantId); + return writer; + }; + + /** + * Encodes the specified ContractFeePotLastClaim message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim} message ContractFeePotLastClaim message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContractFeePotLastClaim.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContractFeePotLastClaim message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePotLastClaim.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.epoch = reader.uint32(); + break; + case 2: + message.timeMs = reader.uint64(); + break; + case 3: + message.claimantId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContractFeePotLastClaim message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContractFeePotLastClaim.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContractFeePotLastClaim message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContractFeePotLastClaim.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + if (message.timeMs != null && message.hasOwnProperty("timeMs")) + if (!$util.isInteger(message.timeMs) && !(message.timeMs && $util.isInteger(message.timeMs.low) && $util.isInteger(message.timeMs.high))) + return "timeMs: integer|Long expected"; + if (message.claimantId != null && message.hasOwnProperty("claimantId")) + if (!(message.claimantId && typeof message.claimantId.length === "number" || $util.isString(message.claimantId))) + return "claimantId: buffer expected"; + return null; + }; + + /** + * Creates a ContractFeePotLastClaim message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} ContractFeePotLastClaim + */ + ContractFeePotLastClaim.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim(); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + if (object.timeMs != null) + if ($util.Long) + (message.timeMs = $util.Long.fromValue(object.timeMs)).unsigned = true; + else if (typeof object.timeMs === "string") + message.timeMs = parseInt(object.timeMs, 10); + else if (typeof object.timeMs === "number") + message.timeMs = object.timeMs; + else if (typeof object.timeMs === "object") + message.timeMs = new $util.LongBits(object.timeMs.low >>> 0, object.timeMs.high >>> 0).toNumber(true); + if (object.claimantId != null) + if (typeof object.claimantId === "string") + $util.base64.decode(object.claimantId, message.claimantId = $util.newBuffer($util.base64.length(object.claimantId)), 0); + else if (object.claimantId.length >= 0) + message.claimantId = object.claimantId; + return message; + }; + + /** + * Creates a plain object from a ContractFeePotLastClaim message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @static + * @param {org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} message ContractFeePotLastClaim + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContractFeePotLastClaim.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.epoch = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.timeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timeMs = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.claimantId = ""; + else { + object.claimantId = []; + if (options.bytes !== Array) + object.claimantId = $util.newBuffer(object.claimantId); + } + } + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; + if (message.timeMs != null && message.hasOwnProperty("timeMs")) + if (typeof message.timeMs === "number") + object.timeMs = options.longs === String ? String(message.timeMs) : message.timeMs; + else + object.timeMs = options.longs === String ? $util.Long.prototype.toString.call(message.timeMs) : options.longs === Number ? new $util.LongBits(message.timeMs.low >>> 0, message.timeMs.high >>> 0).toNumber(true) : message.timeMs; + if (message.claimantId != null && message.hasOwnProperty("claimantId")) + object.claimantId = options.bytes === String ? $util.base64.encode(message.claimantId, 0, message.claimantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.claimantId) : message.claimantId; + return object; + }; + + /** + * Converts this ContractFeePotLastClaim to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim + * @instance + * @returns {Object.} JSON object + */ + ContractFeePotLastClaim.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContractFeePotLastClaim; + })(); + GetContractFeePotsResponse.ContractFeePot = (function() { /** @@ -27227,7 +27482,7 @@ $root.org = (function() { * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse * @interface IContractFeePot * @property {number|Long|null} [credits] ContractFeePot credits - * @property {number|null} [lastClaimEpoch] ContractFeePot lastClaimEpoch + * @property {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim|null} [lastClaim] ContractFeePot lastClaim */ /** @@ -27254,12 +27509,12 @@ $root.org = (function() { ContractFeePot.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * ContractFeePot lastClaimEpoch. - * @member {number} lastClaimEpoch + * ContractFeePot lastClaim. + * @member {org.dash.platform.dapi.v0.GetContractFeePotsResponse.IContractFeePotLastClaim|null|undefined} lastClaim * @memberof org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot * @instance */ - ContractFeePot.prototype.lastClaimEpoch = 0; + ContractFeePot.prototype.lastClaim = null; /** * Creates a new ContractFeePot instance using the specified properties. @@ -27287,8 +27542,8 @@ $root.org = (function() { writer = $Writer.create(); if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); - if (message.lastClaimEpoch != null && Object.hasOwnProperty.call(message, "lastClaimEpoch")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.lastClaimEpoch); + if (message.lastClaim != null && Object.hasOwnProperty.call(message, "lastClaim")) + $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.encode(message.lastClaim, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -27327,7 +27582,7 @@ $root.org = (function() { message.credits = reader.uint64(); break; case 2: - message.lastClaimEpoch = reader.uint32(); + message.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -27367,9 +27622,11 @@ $root.org = (function() { if (message.credits != null && message.hasOwnProperty("credits")) if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) return "credits: integer|Long expected"; - if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) - if (!$util.isInteger(message.lastClaimEpoch)) - return "lastClaimEpoch: integer expected"; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) { + var error = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.verify(message.lastClaim); + if (error) + return "lastClaim." + error; + } return null; }; @@ -27394,8 +27651,11 @@ $root.org = (function() { message.credits = object.credits; else if (typeof object.credits === "object") message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); - if (object.lastClaimEpoch != null) - message.lastClaimEpoch = object.lastClaimEpoch >>> 0; + if (object.lastClaim != null) { + if (typeof object.lastClaim !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.lastClaim: object expected"); + message.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.fromObject(object.lastClaim); + } return message; }; @@ -27418,15 +27678,15 @@ $root.org = (function() { object.credits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.credits = options.longs === String ? "0" : 0; - object.lastClaimEpoch = 0; + object.lastClaim = null; } if (message.credits != null && message.hasOwnProperty("credits")) if (typeof message.credits === "number") object.credits = options.longs === String ? String(message.credits) : message.credits; else object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; - if (message.lastClaimEpoch != null && message.hasOwnProperty("lastClaimEpoch")) - object.lastClaimEpoch = message.lastClaimEpoch; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) + object.lastClaim = $root.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(message.lastClaim, options); return object; }; diff --git a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js index 2c0c5ac8bdc..a7b9c4045a4 100644 --- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js +++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js @@ -123,6 +123,7 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.Get goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase', null, { proto }); @@ -2920,6 +2921,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -32654,6 +32676,220 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWrit +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject = function(includeInstance, msg) { + var f, obj = { + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 2, "0"), + claimantId: msg.getClaimantId_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 2: + var value = /** @type {string} */ (reader.readUint64String()); + msg.setTimeMs(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setClaimantId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpoch(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getTimeMs(); + if (parseInt(f, 10) !== 0) { + writer.writeUint64String( + 2, + f + ); + } + f = message.getClaimantId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 epoch = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 time_ms = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getTimeMs = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3StringIntField(this, 2, value); +}; + + +/** + * optional bytes claimant_id = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes claimant_id = 3; + * This is a type-conversion wrapper around `getClaimantId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getClaimantId())); +}; + + +/** + * optional bytes claimant_id = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getClaimantId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getClaimantId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setClaimantId = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -32684,7 +32920,7 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject = function(includeInstance, msg) { var f, obj = { credits: jspb.Message.getFieldWithDefault(msg, 1, "0"), - lastClaimEpoch: jspb.Message.getFieldWithDefault(msg, 2, 0) + lastClaim: (f = msg.getLastClaim()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(includeInstance, f) }; if (includeInstance) { @@ -32726,8 +32962,9 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deseri msg.setCredits(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLastClaimEpoch(value); + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader); + msg.setLastClaim(value); break; default: reader.skipField(); @@ -32765,11 +33002,12 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serial f ); } - f = /** @type {number} */ (jspb.Message.getField(message, 2)); + f = message.getLastClaim(); if (f != null) { - writer.writeUint32( + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter ); } }; @@ -32794,29 +33032,30 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot /** - * optional uint32 last_claim_epoch = 2; - * @return {number} + * optional ContractFeePotLastClaim last_claim = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaimEpoch = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaim = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim, 2)); }; /** - * @param {number} value + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim|undefined} value * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this - */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaimEpoch = function(value) { - return jspb.Message.setField(this, 2, value); +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaim = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * Clears the field making it undefined. + * Clears the message field making it undefined. * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaimEpoch = function() { - return jspb.Message.setField(this, 2, undefined); +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaim = function() { + return this.setLastClaim(undefined); }; @@ -32824,7 +33063,7 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaimEpoch = function() { +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaim = function() { return jspb.Message.getField(this, 2) != null; }; diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index f531706aabc..5000279123b 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -78,6 +78,7 @@ CF_EXTERN_C_BEGIN @class GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues; @class GetContractFeePotsRequest_GetContractFeePotsRequestV0; @class GetContractFeePotsResponse_ContractFeePot; +@class GetContractFeePotsResponse_ContractFeePotLastClaim; @class GetContractFeePotsResponse_ContractFeePots; @class GetContractFeePotsResponse_GetContractFeePotsResponseV0; @class GetContractGroupInfoRequest_GetContractGroupInfoRequestV0; @@ -3377,11 +3378,35 @@ GPB_FINAL @interface GetContractFeePotsResponse : GPBMessage **/ void GetContractFeePotsResponse_ClearVersionOneOfCase(GetContractFeePotsResponse *message); +#pragma mark - GetContractFeePotsResponse_ContractFeePotLastClaim + +typedef GPB_ENUM(GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber) { + GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_Epoch = 1, + GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_TimeMs = 2, + GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_ClaimantId = 3, +}; + +/** + * The last payout of a pot, which the claim that made it left in state + **/ +GPB_FINAL @interface GetContractFeePotsResponse_ContractFeePotLastClaim : GPBMessage + +/** The epoch (u16) the pot was paid out in; a pot is paid */ +@property(nonatomic, readwrite) uint32_t epoch; + +/** out at most once per epoch */ +@property(nonatomic, readwrite) uint64_t timeMs; + +/** The identity that signed the claim: the contract */ +@property(nonatomic, readwrite, copy, null_resettable) NSData *claimantId; + +@end + #pragma mark - GetContractFeePotsResponse_ContractFeePot typedef GPB_ENUM(GetContractFeePotsResponse_ContractFeePot_FieldNumber) { GetContractFeePotsResponse_ContractFeePot_FieldNumber_Credits = 1, - GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaimEpoch = 2, + GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaim = 2, }; /** @@ -3392,10 +3417,11 @@ GPB_FINAL @interface GetContractFeePotsResponse_ContractFeePot : GPBMessage /** What the pot holds */ @property(nonatomic, readwrite) uint64_t credits; -/** The epoch the pot was last paid out in, unset when it never was; */ -@property(nonatomic, readwrite) uint32_t lastClaimEpoch; +/** Unset when the pot was never paid out */ +@property(nonatomic, readwrite, strong, null_resettable) GetContractFeePotsResponse_ContractFeePotLastClaim *lastClaim; +/** Test to see if @c lastClaim has been set. */ +@property(nonatomic, readwrite) BOOL hasLastClaim; -@property(nonatomic, readwrite) BOOL hasLastClaimEpoch; @end #pragma mark - GetContractFeePotsResponse_ContractFeePots diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m index 23f305c8cc0..9374cb523b0 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.m @@ -98,6 +98,7 @@ GPBObjCClassDeclaration(GetContractFeePotsRequest_GetContractFeePotsRequestV0); GPBObjCClassDeclaration(GetContractFeePotsResponse); GPBObjCClassDeclaration(GetContractFeePotsResponse_ContractFeePot); +GPBObjCClassDeclaration(GetContractFeePotsResponse_ContractFeePotLastClaim); GPBObjCClassDeclaration(GetContractFeePotsResponse_ContractFeePots); GPBObjCClassDeclaration(GetContractFeePotsResponse_GetContractFeePotsResponseV0); GPBObjCClassDeclaration(GetContractGroupInfoRequest); @@ -7221,16 +7222,84 @@ void GetContractFeePotsResponse_ClearVersionOneOfCase(GetContractFeePotsResponse GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; GPBClearOneof(message, oneof); } +#pragma mark - GetContractFeePotsResponse_ContractFeePotLastClaim + +@implementation GetContractFeePotsResponse_ContractFeePotLastClaim + +@dynamic epoch; +@dynamic timeMs; +@dynamic claimantId; + +typedef struct GetContractFeePotsResponse_ContractFeePotLastClaim__storage_ { + uint32_t _has_storage_[1]; + uint32_t epoch; + NSData *claimantId; + uint64_t timeMs; +} GetContractFeePotsResponse_ContractFeePotLastClaim__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "epoch", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_Epoch, + .hasIndex = 0, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePotLastClaim__storage_, epoch), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt32, + }, + { + .name = "timeMs", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_TimeMs, + .hasIndex = 1, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePotLastClaim__storage_, timeMs), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeUInt64, + }, + { + .name = "claimantId", + .dataTypeSpecific.clazz = Nil, + .number = GetContractFeePotsResponse_ContractFeePotLastClaim_FieldNumber_ClaimantId, + .hasIndex = 2, + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePotLastClaim__storage_, claimantId), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero), + .dataType = GPBDataTypeBytes, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GetContractFeePotsResponse_ContractFeePotLastClaim class] + rootClass:[PlatformRoot class] + file:PlatformRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(GetContractFeePotsResponse_ContractFeePotLastClaim__storage_) + flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; + [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContractFeePotsResponse)]; + #if defined(DEBUG) && DEBUG + NSAssert(descriptor == nil, @"Startup recursed!"); + #endif // DEBUG + descriptor = localDescriptor; + } + return descriptor; +} + +@end + #pragma mark - GetContractFeePotsResponse_ContractFeePot @implementation GetContractFeePotsResponse_ContractFeePot @dynamic credits; -@dynamic hasLastClaimEpoch, lastClaimEpoch; +@dynamic hasLastClaim, lastClaim; typedef struct GetContractFeePotsResponse_ContractFeePot__storage_ { uint32_t _has_storage_[1]; - uint32_t lastClaimEpoch; + GetContractFeePotsResponse_ContractFeePotLastClaim *lastClaim; uint64_t credits; } GetContractFeePotsResponse_ContractFeePot__storage_; @@ -7250,13 +7319,13 @@ + (GPBDescriptor *)descriptor { .dataType = GPBDataTypeUInt64, }, { - .name = "lastClaimEpoch", - .dataTypeSpecific.clazz = Nil, - .number = GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaimEpoch, + .name = "lastClaim", + .dataTypeSpecific.clazz = GPBObjCClass(GetContractFeePotsResponse_ContractFeePotLastClaim), + .number = GetContractFeePotsResponse_ContractFeePot_FieldNumber_LastClaim, .hasIndex = 1, - .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePot__storage_, lastClaimEpoch), + .offset = (uint32_t)offsetof(GetContractFeePotsResponse_ContractFeePot__storage_, lastClaim), .flags = GPBFieldOptional, - .dataType = GPBDataTypeUInt32, + .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = diff --git a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py index d1b67786317..d7798dbab85 100644 --- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py +++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py @@ -23,7 +23,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8e\x02\n&GetIdentityKeysRemainingBudgetsRequest\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest.GetIdentityKeysRemainingBudgetsRequestV0H\x00\x1a_\n(GetIdentityKeysRemainingBudgetsRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x0f\n\x07key_ids\x18\x02 \x03(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x96\x06\n\'GetIdentityKeysRemainingBudgetsResponse\x12z\n\x02v0\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0H\x00\x1a\xe3\x04\n)GetIdentityKeysRemainingBudgetsResponseV0\x12\xa4\x01\n\x16keys_remaining_budgets\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeysRemainingBudgetsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x61\n\x17KeyRemainingBudgetEntry\x12\x0e\n\x06key_id\x18\x01 \x01(\r\x12!\n\x10remaining_budget\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\x13\n\x11_remaining_budget\x1a\xaf\x01\n\x14KeysRemainingBudgets\x12\x96\x01\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeyRemainingBudgetEntryB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8c\x02\n%GetDataContractsLatestVersionsRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest.GetDataContractsLatestVersionsRequestV0H\x00\x1a`\n\'GetDataContractsLatestVersionsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\x19\n\x11include_contracts\x18\x02 \x01(\x08\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xfa\x05\n&GetDataContractsLatestVersionsResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.GetDataContractsLatestVersionsResponseV0H\x00\x1a\x84\x01\n\x1e\x44\x61taContractLatestVersionEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x14\n\x07version\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rdata_contract\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\n\n\x08_versionB\x10\n\x0e_data_contract\x1a\x90\x01\n\x1b\x44\x61taContractsLatestVersions\x12q\n\x07\x65ntries\x18\x01 \x03(\x0b\x32`.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractLatestVersionEntry\x1a\xb0\x02\n(GetDataContractsLatestVersionsResponseV0\x12\x87\x01\n\x1e\x64\x61ta_contracts_latest_versions\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractsLatestVersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"R\n\x1f\x43ontractGroupDocumentTypeMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\"G\n\x18\x43ontractGroupTokenMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x16\n\x0etoken_position\x18\x02 \x01(\r\"\xd7\x01\n\x1bGetContractGroupInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0H\x00\x1aI\n\x1dGetContractGroupInfoRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x98\x04\n\x1cGetContractGroupInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.GetContractGroupInfoResponseV0H\x00\x1a~\n\x11\x43ontractGroupInfo\x12\x10\n\x08owner_id\x18\x01 \x01(\x0c\x12\x11\n\tadmin_ids\x18\x02 \x03(\x0c\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_description\x1a\x86\x02\n\x1eGetContractGroupInfoResponseV0\x12h\n\x13\x63ontract_group_info\x18\x01 \x01(\x0b\x32I.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.ContractGroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf8\x06\n\x1eGetContractGroupMembersRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.GetContractGroupMembersRequestV0H\x00\x1a@\n\x14\x43ontractMembersQuery\x12\x18\n\x0bstart_after\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\x80\x01\n\x18\x44ocumentTypeMembersQuery\x12T\n\x0bstart_after\x18\x01 \x01(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1ar\n\x11TokenMembersQuery\x12M\n\x0bstart_after\x18\x01 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\xa7\x03\n GetContractGroupMembersRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\x63\n\tcontracts\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.ContractMembersQueryH\x00\x12l\n\x0e\x64ocument_types\x18\x03 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.DocumentTypeMembersQueryH\x00\x12]\n\x06tokens\x18\x04 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.TokenMembersQueryH\x00\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\t\n\x07membersB\x08\n\x06_limitB\t\n\x07version\"\xc9\x06\n\x1fGetContractGroupMembersResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.GetContractGroupMembersResponseV0H\x00\x1a\'\n\x0f\x43ontractMembers\x12\x14\n\x0c\x63ontract_ids\x18\x01 \x03(\x0c\x1ai\n\x13\x44ocumentTypeMembers\x12R\n\x0e\x64ocument_types\x18\x01 \x03(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMember\x1aS\n\x0cTokenMembers\x12\x43\n\x06tokens\x18\x01 \x03(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMember\x1a\xc5\x03\n!GetContractGroupMembersResponseV0\x12_\n\tcontracts\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.ContractMembersH\x00\x12h\n\x0e\x64ocument_types\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.DocumentTypeMembersH\x00\x12Y\n\x06tokens\x18\x03 \x01(\x0b\x32G.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.TokenMembersH\x00\x12\x31\n\x05proof\x18\x04 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"D\n\x18\x43ontractModerationReason\x12\x11\n\x04\x63ode\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04text\x18\x02 \x01(\tB\x07\n\x05_code\"\xc5\x02\n\"GetContractModerationStatusRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetContractModerationStatusRequest.GetContractModerationStatusRequestV0H\x00\x1a\xa1\x01\n$GetContractModerationStatusRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x13\n\x0bidentity_id\x18\x02 \x01(\x0c\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\xae\x06\n#GetContractModerationStatusResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.GetContractModerationStatusResponseV0H\x00\x1a\xf6\x02\n\x18\x43ontractModerationStatus\x12\x13\n\x06\x62\x61nned\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x0fsuspended_until\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12L\n\nban_reason\x18\x04 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x02\x88\x01\x01\x12S\n\x11suspension_reason\x18\x05 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x03\x88\x01\x01\x42\t\n\x07_bannedB\x12\n\x10_suspended_untilB\r\n\x0b_ban_reasonB\x14\n\x12_suspension_reason\x1a\x8e\x02\n%GetContractModerationStatusResponseV0\x12i\n\x06status\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.ContractModerationStatusH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x02\n#GetContractModerationEntriesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest.GetContractModerationEntriesRequestV0H\x00\x1a\xd4\x01\n%GetContractModerationEntriesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12?\n\x04list\x18\x02 \x01(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\x18\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x0e\n\x0c_start_afterB\x08\n\x06_limitB\t\n\x07version\"\xd8\x05\n$GetContractModerationEntriesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0H\x00\x1a\x91\x01\n\x17\x43ontractModerationEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x12\n\x05until\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x43\n\x06reason\x18\x03 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonB\x08\n\x06_until\x1a\x85\x01\n\x19\x43ontractModerationEntries\x12h\n\x07\x65ntries\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntry\x1a\x92\x02\n&GetContractModerationEntriesResponseV0\x12l\n\x07\x65ntries\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc9\x01\n\x19GetContractFeePotsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0H\x00\x1a\x41\n\x1bGetContractFeePotsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9b\x05\n\x1aGetContractFeePotsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0H\x00\x1aY\n\x0e\x43ontractFeePot\x12\x13\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x10last_claim_epoch\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\x13\n\x11_last_claim_epoch\x1a\xc0\x01\n\x0f\x43ontractFeePots\x12S\n\x05owner\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x12X\n\nmoderators\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x1a\xf1\x01\n\x1cGetContractFeePotsResponseV0\x12U\n\x04pots\x18\x01 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf1\x01\n#GetContractGroupsForContractRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest.GetContractGroupsForContractRequestV0H\x00\x1aK\n%GetContractGroupsForContractRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf5\x06\n$GetContractGroupsForContractResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.GetContractGroupsForContractResponseV0H\x00\x1aQ\n\x17\x44ocumentTypeMemberships\x12\x1a\n\x12\x64ocument_type_name\x18\x01 \x01(\t\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x46\n\x10TokenMemberships\x12\x16\n\x0etoken_position\x18\x01 \x01(\r\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x89\x02\n\x18\x43ontractGroupMemberships\x12\x1a\n\x12\x63ontract_group_ids\x18\x01 \x03(\x0c\x12o\n\x0e\x64ocument_types\x18\x02 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.DocumentTypeMemberships\x12`\n\x06tokens\x18\x03 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.TokenMemberships\x1a\xa4\x02\n&GetContractGroupsForContractResponseV0\x12~\n\x1a\x63ontract_group_memberships\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.ContractGroupMembershipsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xad\x02\n\x1eGetDataContractsByRangeRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest.GetDataContractsByRangeRequestV0H\x00\x1a\x95\x01\n GetDataContractsByRangeRequestV0\x12\x12\n\x05limit\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x03 \x01(\x0cH\x00\x12\x10\n\x08ids_only\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_limitB\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xe0\x1f\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x12R\n\x02v1\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1H\x00\x1a\xfe\x02\n\x12\x44ocumentFieldValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x19\n\x0bint64_value\x18\x02 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1a\n\x0cuint64_value\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x0e\n\x04text\x18\x05 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12[\n\x04list\x18\x07 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue.ValueListH\x00\x12\x14\n\nnull_value\x18\x08 \x01(\x08H\x00\x1a^\n\tValueList\x12Q\n\x06values\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueB\t\n\x07variant\x1a\xe2\x02\n\x12TimeRangeSelection\x12\\\n\x08selector\x18\x01 \x01(\x0e\x32J.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Selector\x12\x19\n\x08start_ms\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12T\n\x04grid\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Grid\x1a>\n\x04Grid\x12\x11\n\x05range\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x04step\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x11\n\x05phase\x18\x03 \x01(\x04\x42\x02\x30\x01\"0\n\x08Selector\x12\n\n\x06NEWEST\x10\x00\x12\n\n\x06OLDEST\x10\x01\x12\x0c\n\x08\x42Y_START\x10\x02\x42\x0b\n\t_start_ms\x1a\x95\x02\n\x0bWhereClause\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12N\n\x08operator\x18\x02 \x01(\x0e\x32<.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereOperator\x12P\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue\x12U\n\ntime_range\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection\x1a\xa4\x01\n\x0fHavingAggregate\x12Y\n\x08\x66unction\x18\x01 \x01(\x0e\x32G.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"\'\n\x08\x46unction\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x1a\xf9\x03\n\x0cHavingClause\x12Q\n\taggregate\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate\x12V\n\x08operator\x18\x02 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause.Operator\x12R\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueH\x00\"\xe0\x01\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\r\n\tNOT_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x03\x12\r\n\tLESS_THAN\x10\x04\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x07\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x08\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\t\x12\x06\n\x02IN\x10\nB\x07\n\x05right\x1a\x90\x01\n\x0bOrderClause\x12\x0f\n\x05\x66ield\x18\x01 \x01(\tH\x00\x12S\n\taggregate\x18\x03 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregateH\x00\x12\x11\n\tascending\x18\x02 \x01(\x08\x42\x08\n\x06target\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05start\x1a\xa6\x0c\n\x15GetDocumentsRequestV1\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x12\\\n\x07selects\x18\t \x03(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select\x12\x10\n\x08group_by\x18\n \x03(\t\x12K\n\x06having\x18\x0b \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause\x12\x13\n\x06offset\x18\x0c \x01(\rH\x02\x88\x01\x01\x12\x61\n\x07\x63hained\x18\r \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.ChainedJoin\x12\x62\n\x0bsub_queries\x18\x0e \x03(\x0b\x32M.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery\x1a\xc9\x01\n\x06Select\x12\x66\n\x08\x66unction\x18\x01 \x01(\x0e\x32T.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"H\n\x08\x46unction\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x07\n\x03SUM\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x1a\x41\n\x0b\x43hainedJoin\x12\x15\n\rjoin_property\x18\x01 \x01(\t\x12\x1b\n\x13outer_document_type\x18\x02 \x01(\t\x1a\xa6\x04\n\x08SubQuery\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x00\x88\x01\x01\x12`\n\x04kind\x18\x06 \x01(\x0e\x32R.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Kind\x12\x63\n\x04\x62ind\x18\x07 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Binding\x1a\x41\n\x07\x42inding\x12\x0e\n\x06source\x18\x01 \x01(\r\x12\x17\n\x0fsource_property\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\" \n\x04Kind\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x42\x08\n\x06_limitB\x07\n\x05startB\x08\n\x06_limitB\t\n\x07_offset\"\xfa\x01\n\rWhereOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x02\x12\r\n\tLESS_THAN\x10\x03\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x04\x12\x0b\n\x07\x42\x45TWEEN\x10\x05\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x06\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x07\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\x08\x12\x06\n\x02IN\x10\t\x12\x0f\n\x0bSTARTS_WITH\x10\n\x12\x11\n\rIN_TIME_RANGE\x10\x0b\x42\t\n\x07version\"\xc2\x1b\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x12T\n\x02v1\x18\x02 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06result\x1a\xd4\x17\n\x16GetDocumentsResponseV1\x12\x61\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ResultDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x1aL\n\nCountEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07_in_key\x1ar\n\x0c\x43ountEntries\x12\x62\n\x07\x65ntries\x18\x01 \x03(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntry\x1a\xa0\x01\n\x0c\x43ountResults\x12\x1d\n\x0f\x61ggregate_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x66\n\x07\x65ntries\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\t\n\x07variant\x1aH\n\x08SumEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x0f\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1an\n\nSumEntries\x12`\n\x07\x65ntries\x18\x01 \x03(\x0b\x32O.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntry\x1a\x9a\x01\n\nSumResults\x12\x1b\n\raggregate_sum\x18\x01 \x01(\x12\x42\x02\x30\x01H\x00\x12\x64\n\x07\x65ntries\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntriesH\x00\x42\t\n\x07variant\x1a_\n\x0c\x41verageEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x04 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1av\n\x0e\x41verageEntries\x12\x64\n\x07\x65ntries\x18\x01 \x03(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntry\x1a\x36\n\x10\x41verageAggregate\x12\x11\n\x05\x63ount\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x02 \x01(\x12\x42\x02\x30\x01\x1a\xfb\x01\n\x0e\x41verageResults\x12t\n\x11\x61ggregate_average\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageAggregateH\x00\x12h\n\x07\x65ntries\x18\x02 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntriesH\x00\x42\t\n\x07variant\x1az\n\x0bRankedEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x13\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x11\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01H\x00\x12\r\n\x03\x61vg\x18\x04 \x01(\x01H\x00\x12\x13\n\x06in_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x07\n\x05valueB\t\n\x07_in_key\x1a\x9a\x01\n\rRankedEntries\x12\x63\n\x07\x65ntries\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntry\x12\x18\n\x07skipped\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_skipped\x1a\xf7\x05\n\nResultData\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountResultsH\x00\x12\x61\n\x04sums\x18\x03 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumResultsH\x00\x12i\n\x08\x61verages\x18\x04 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageResultsH\x00\x12\x66\n\x06ranked\x18\x05 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntriesH\x00\x12j\n\x07\x63hained\x18\x06 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ChainedDocumentsH\x00\x12n\n\tcomposite\x18\x07 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocumentsH\x00\x42\t\n\x07variant\x1a\x44\n\x10\x43hainedDocuments\x12\x17\n\x0finner_documents\x18\x01 \x03(\x0c\x12\x17\n\x0fouter_documents\x18\x02 \x03(\x0c\x1a\x96\x03\n\x12\x43ompositeDocuments\x12\x16\n\x0epage_documents\x18\x01 \x03(\x0c\x12}\n\x0bsub_results\x18\x02 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocuments.SubQueryResult\x1a\xe8\x01\n\x0eSubQueryResult\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\x08\n\x06resultB\x08\n\x06resultB\t\n\x07version\"\xf4\x02\n\x19GetDocumentHistoryRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentHistoryRequest.GetDocumentHistoryRequestV0H\x00\x1a\xeb\x01\n\x1bGetDocumentHistoryRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64ocument_id\x18\x03 \x01(\x0c\x12+\n\x05limit\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x07 \x01(\x08\x42\t\n\x07version\"\xf7\x04\n\x1aGetDocumentHistoryResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0H\x00\x1a\xeb\x03\n\x1cGetDocumentHistoryResponseV0\x12~\n\x10\x64ocument_history\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x14\x44ocumentHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\x95\x01\n\x0f\x44ocumentHistory\x12\x81\x01\n\x10\x64ocument_entries\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n*GetIdentityByNonUniquePublicKeyHashRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0H\x00\x1a\x80\x01\n,GetIdentityByNonUniquePublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\x18\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x0e\n\x0c_start_afterB\t\n\x07version\"\xd6\x06\n+GetIdentityByNonUniquePublicKeyHashResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0H\x00\x1a\x96\x05\n-GetIdentityByNonUniquePublicKeyHashResponseV0\x12\x9a\x01\n\x08identity\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponseH\x00\x12\x9d\x01\n\x05proof\x18\x02 \x01(\x0b\x32\x8b\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponseH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x10IdentityResponse\x12\x15\n\x08identity\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_identity\x1a\xa6\x01\n\x16IdentityProvedResponse\x12P\n&grovedb_identity_public_key_hash_proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12!\n\x14identity_proof_bytes\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x17\n\x15_identity_proof_bytesB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry\x1a:\n\x0cVersionEntry\x12\x16\n\x0eversion_number\x18\x01 \x01(\r\x12\x12\n\nvote_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\x12\x19\n\x11start_pro_tx_hash\x18\x01 \x01(\x0c\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignalsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal\x1a\x35\n\rVersionSignal\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xf5\x01\n\x14GetEpochsInfoRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0H\x00\x1a|\n\x16GetEpochsInfoRequestV0\x12\x31\n\x0bstart_epoch\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x11\n\tascending\x18\x03 \x01(\x08\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\n\x17GetEpochsInfoResponseV0\x12\x65\n\x06\x65pochs\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1au\n\nEpochInfos\x12g\n\x0b\x65poch_infos\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo\x1a\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xbf\x02\n\x1dGetFinalizedEpochInfosRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0H\x00\x1a\xaa\x01\n\x1fGetFinalizedEpochInfosRequestV0\x12\x19\n\x11start_epoch_index\x18\x01 \x01(\r\x12\"\n\x1astart_epoch_index_included\x18\x02 \x01(\x08\x12\x17\n\x0f\x65nd_epoch_index\x18\x03 \x01(\r\x12 \n\x18\x65nd_epoch_index_included\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xbd\t\n\x1eGetFinalizedEpochInfosResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0H\x00\x1a\xa5\x08\n GetFinalizedEpochInfosResponseV0\x12\x80\x01\n\x06\x65pochs\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xa4\x01\n\x13\x46inalizedEpochInfos\x12\x8c\x01\n\x15\x66inalized_epoch_infos\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo\x1a\x9f\x04\n\x12\x46inalizedEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x1c\n\x10\x66irst_block_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\r\x12!\n\x15total_blocks_in_epoch\x18\x07 \x01(\x04\x42\x02\x30\x01\x12*\n\"next_epoch_start_core_block_height\x18\x08 \x01(\r\x12!\n\x15total_processing_fees\x18\t \x01(\x04\x42\x02\x30\x01\x12*\n\x1etotal_distributed_storage_fees\x18\n \x01(\x04\x42\x02\x30\x01\x12&\n\x1atotal_created_storage_fees\x18\x0b \x01(\x04\x42\x02\x30\x01\x12\x1e\n\x12\x63ore_block_rewards\x18\x0c \x01(\x04\x42\x02\x30\x01\x12\x81\x01\n\x0f\x62lock_proposers\x18\r \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer\x1a\x39\n\rBlockProposer\x12\x13\n\x0bproposer_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lock_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a<\n\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xe4\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xf3\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\x82\x05\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xcc\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a<\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x12\n\nnext_epoch\x18\x05 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xce\x01\n\x1bGetTokenContractInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0H\x00\x1a@\n\x1dGetTokenContractInfoRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xfb\x03\n\x1cGetTokenContractInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0H\x00\x1a\xe9\x02\n\x1eGetTokenContractInfoResponseV0\x12|\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aM\n\x15TokenContractInfoData\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a>\n\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\x82\x04\n-GetTokenPerpetualDistributionLastClaimRequest\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0H\x00\x1aI\n\x11\x43ontractTokenInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\r\x1a\xf1\x01\n/GetTokenPerpetualDistributionLastClaimRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12v\n\rcontract_info\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfoH\x00\x88\x01\x01\x12\x13\n\x0bidentity_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x10\n\x0e_contract_infoB\t\n\x07version\"\x93\x05\n.GetTokenPerpetualDistributionLastClaimResponse\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0H\x00\x1a\xca\x03\n0GetTokenPerpetualDistributionLastClaimResponseV0\x12\x9f\x01\n\nlast_claim\x18\x01 \x01(\x0b\x32\x88\x01.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\rLastClaimInfo\x12\x1a\n\x0ctimestamp_ms\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1a\n\x0c\x62lock_height\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x0f\n\x05\x65poch\x18\x03 \x01(\rH\x00\x12\x13\n\traw_bytes\x18\x04 \x01(\x0cH\x00\x42\t\n\x07paid_atB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xd6\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xd3\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a[\n\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a[\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0c\x62urn_from_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x15GetAddressInfoRequest\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetAddressInfoRequest.GetAddressInfoRequestV0H\x00\x1a\x39\n\x17GetAddressInfoRequestV0\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x85\x01\n\x10\x41\x64\x64ressInfoEntry\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12J\n\x11\x62\x61lance_and_nonce\x18\x02 \x01(\x0b\x32*.org.dash.platform.dapi.v0.BalanceAndNonceH\x00\x88\x01\x01\x42\x14\n\x12_balance_and_nonce\"1\n\x0f\x42\x61lanceAndNonce\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\r\n\x05nonce\x18\x02 \x01(\r\"_\n\x12\x41\x64\x64ressInfoEntries\x12I\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x03(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntry\"m\n\x14\x41\x64\x64ressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_balance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1c\n\x0e\x61\x64\x64_to_balance\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x42\x0b\n\toperation\"x\n\x1a\x42lockAddressBalanceChanges\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12@\n\x07\x63hanges\x18\x02 \x03(\x0b\x32/.org.dash.platform.dapi.v0.AddressBalanceChange\"k\n\x1b\x41\x64\x64ressBalanceUpdateEntries\x12L\n\rblock_changes\x18\x01 \x03(\x0b\x32\x35.org.dash.platform.dapi.v0.BlockAddressBalanceChanges\"\xe1\x02\n\x16GetAddressInfoResponse\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetAddressInfoResponse.GetAddressInfoResponseV0H\x00\x1a\xe1\x01\n\x18GetAddressInfoResponseV0\x12I\n\x12\x61\x64\x64ress_info_entry\x18\x01 \x01(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc3\x01\n\x18GetAddressesInfosRequest\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetAddressesInfosRequest.GetAddressesInfosRequestV0H\x00\x1a>\n\x1aGetAddressesInfosRequestV0\x12\x11\n\taddresses\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf1\x02\n\x19GetAddressesInfosResponse\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetAddressesInfosResponse.GetAddressesInfosResponseV0H\x00\x1a\xe8\x01\n\x1bGetAddressesInfosResponseV0\x12M\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x01(\x0b\x32-.org.dash.platform.dapi.v0.AddressInfoEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x1dGetAddressesTrunkStateRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest.GetAddressesTrunkStateRequestV0H\x00\x1a!\n\x1fGetAddressesTrunkStateRequestV0B\t\n\x07version\"\xaa\x02\n\x1eGetAddressesTrunkStateResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse.GetAddressesTrunkStateResponseV0H\x00\x1a\x92\x01\n GetAddressesTrunkStateResponseV0\x12/\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf0\x01\n\x1eGetAddressesBranchStateRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest.GetAddressesBranchStateRequestV0H\x00\x1aY\n GetAddressesBranchStateRequestV0\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\r\x12\x19\n\x11\x63heckpoint_height\x18\x03 \x01(\x04\x42\t\n\x07version\"\xd1\x01\n\x1fGetAddressesBranchStateResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse.GetAddressesBranchStateResponseV0H\x00\x1a\x37\n!GetAddressesBranchStateResponseV0\x12\x12\n\nmerk_proof\x18\x02 \x01(\x0c\x42\t\n\x07version\"\x9e\x02\n%GetRecentAddressBalanceChangesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest.GetRecentAddressBalanceChangesRequestV0H\x00\x1ar\n\'GetRecentAddressBalanceChangesRequestV0\x12\x18\n\x0cstart_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x12\x1e\n\x16start_height_exclusive\x18\x03 \x01(\x08\x42\t\n\x07version\"\xb8\x03\n&GetRecentAddressBalanceChangesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse.GetRecentAddressBalanceChangesResponseV0H\x00\x1a\x88\x02\n(GetRecentAddressBalanceChangesResponseV0\x12`\n\x1e\x61\x64\x64ress_balance_update_entries\x18\x01 \x01(\x0b\x32\x36.org.dash.platform.dapi.v0.AddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"G\n\x16\x42lockHeightCreditEntry\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x07\x63redits\x18\x02 \x01(\x04\x42\x02\x30\x01\"\xb0\x01\n\x1d\x43ompactedAddressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_credits\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12V\n\x19\x61\x64\x64_to_credits_operations\x18\x03 \x01(\x0b\x32\x31.org.dash.platform.dapi.v0.AddToCreditsOperationsH\x00\x42\x0b\n\toperation\"\\\n\x16\x41\x64\x64ToCreditsOperations\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.org.dash.platform.dapi.v0.BlockHeightCreditEntry\"\xae\x01\n#CompactedBlockAddressBalanceChanges\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1c\n\x10\x65nd_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12I\n\x07\x63hanges\x18\x03 \x03(\x0b\x32\x38.org.dash.platform.dapi.v0.CompactedAddressBalanceChange\"\x87\x01\n$CompactedAddressBalanceUpdateEntries\x12_\n\x17\x63ompacted_block_changes\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.CompactedBlockAddressBalanceChanges\"\xa9\x02\n.GetRecentCompactedAddressBalanceChangesRequest\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest.GetRecentCompactedAddressBalanceChangesRequestV0H\x00\x1a\x61\n0GetRecentCompactedAddressBalanceChangesRequestV0\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf0\x03\n/GetRecentCompactedAddressBalanceChangesResponse\x12\x8a\x01\n\x02v0\x18\x01 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse.GetRecentCompactedAddressBalanceChangesResponseV0H\x00\x1a\xa4\x02\n1GetRecentCompactedAddressBalanceChangesResponseV0\x12s\n(compacted_address_balance_update_entries\x18\x01 \x01(\x0b\x32?.org.dash.platform.dapi.v0.CompactedAddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf4\x01\n GetShieldedEncryptedNotesRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest.GetShieldedEncryptedNotesRequestV0H\x00\x1aW\n\"GetShieldedEncryptedNotesRequestV0\x12\x13\n\x0bstart_index\x18\x01 \x01(\x04\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xbc\x05\n!GetShieldedEncryptedNotesResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0H\x00\x1a\x9b\x04\n#GetShieldedEncryptedNotesResponseV0\x12\x8a\x01\n\x0f\x65ncrypted_notes\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aW\n\rEncryptedNote\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x0b\n\x03\x63mx\x18\x02 \x01(\x0c\x12\x16\n\x0e\x65ncrypted_note\x18\x03 \x01(\x0c\x12\x0e\n\x06\x63v_net\x18\x04 \x01(\x0c\x1a\x91\x01\n\x0e\x45ncryptedNotes\x12\x7f\n\x07\x65ntries\x18\x01 \x03(\x0b\x32n.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNoteB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x19GetShieldedAnchorsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest.GetShieldedAnchorsRequestV0H\x00\x1a,\n\x1bGetShieldedAnchorsRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb1\x03\n\x1aGetShieldedAnchorsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0H\x00\x1a\xa5\x02\n\x1cGetShieldedAnchorsResponseV0\x12m\n\x07\x61nchors\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0.AnchorsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x07\x41nchors\x12\x0f\n\x07\x61nchors\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd8\x01\n\"GetMostRecentShieldedAnchorRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest.GetMostRecentShieldedAnchorRequestV0H\x00\x1a\x35\n$GetMostRecentShieldedAnchorRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xdc\x02\n#GetMostRecentShieldedAnchorResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse.GetMostRecentShieldedAnchorResponseV0H\x00\x1a\xb5\x01\n%GetMostRecentShieldedAnchorResponseV0\x12\x10\n\x06\x61nchor\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x01\n\x1bGetShieldedPoolStateRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest.GetShieldedPoolStateRequestV0H\x00\x1a.\n\x1dGetShieldedPoolStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xcb\x02\n\x1cGetShieldedPoolStateResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse.GetShieldedPoolStateResponseV0H\x00\x1a\xb9\x01\n\x1eGetShieldedPoolStateResponseV0\x12\x1b\n\rtotal_balance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc0\x01\n\x1cGetShieldedNotesCountRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest.GetShieldedNotesCountRequestV0H\x00\x1a/\n\x1eGetShieldedNotesCountRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd3\x02\n\x1dGetShieldedNotesCountResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse.GetShieldedNotesCountResponseV0H\x00\x1a\xbe\x01\n\x1fGetShieldedNotesCountResponseV0\x12\x1f\n\x11total_notes_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd4\x01\n\x1cGetShieldedNullifiersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest.GetShieldedNullifiersRequestV0H\x00\x1a\x43\n\x1eGetShieldedNullifiersRequestV0\x12\x12\n\nnullifiers\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x86\x05\n\x1dGetShieldedNullifiersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0H\x00\x1a\xf1\x03\n\x1fGetShieldedNullifiersResponseV0\x12\x88\x01\n\x12nullifier_statuses\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x0fNullifierStatus\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x10\n\x08is_spent\x18\x02 \x01(\x08\x1a\x8e\x01\n\x11NullifierStatuses\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05*\x92\x01\n\x16\x43ontractModerationList\x12(\n$CONTRACT_MODERATION_LIST_UNSPECIFIED\x10\x00\x12$\n CONTRACT_MODERATION_LIST_BANLIST\x10\x01\x12(\n$CONTRACT_MODERATION_LIST_SUSPENSIONS\x10\x02\x32\xb1O\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\xa8\x01\n\x1fgetIdentityKeysRemainingBudgets\x12\x41.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest\x1a\x42.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12\xa5\x01\n\x1egetDataContractsLatestVersions\x12@.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest\x1a\x41.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x89\x01\n\x17getDataContractsByRange\x12\x39.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x87\x01\n\x14getContractGroupInfo\x12\x36.org.dash.platform.dapi.v0.GetContractGroupInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetContractGroupInfoResponse\x12\x90\x01\n\x17getContractGroupMembers\x12\x39.org.dash.platform.dapi.v0.GetContractGroupMembersRequest\x1a:.org.dash.platform.dapi.v0.GetContractGroupMembersResponse\x12\x9f\x01\n\x1cgetContractGroupsForContract\x12>.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest\x1a?.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse\x12\x9c\x01\n\x1bgetContractModerationStatus\x12=.org.dash.platform.dapi.v0.GetContractModerationStatusRequest\x1a>.org.dash.platform.dapi.v0.GetContractModerationStatusResponse\x12\x9f\x01\n\x1cgetContractModerationEntries\x12>.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest\x1a?.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse\x12\x81\x01\n\x12getContractFeePots\x12\x34.org.dash.platform.dapi.v0.GetContractFeePotsRequest\x1a\x35.org.dash.platform.dapi.v0.GetContractFeePotsResponse\x12\x81\x01\n\x12getDocumentHistory\x12\x34.org.dash.platform.dapi.v0.GetDocumentHistoryRequest\x1a\x35.org.dash.platform.dapi.v0.GetDocumentHistoryResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\xb4\x01\n#getIdentityByNonUniquePublicKeyHash\x12\x45.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest\x1a\x46.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponse\x12\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8d\x01\n\x16getFinalizedEpochInfos\x12\x38.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest\x1a\x39.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\x87\x01\n\x14getTokenContractInfo\x12\x36.org.dash.platform.dapi.v0.GetTokenContractInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetTokenContractInfoResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\xbd\x01\n&getTokenPerpetualDistributionLastClaim\x12H.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest\x1aI.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponse\x12u\n\x0egetAddressInfo\x12\x30.org.dash.platform.dapi.v0.GetAddressInfoRequest\x1a\x31.org.dash.platform.dapi.v0.GetAddressInfoResponse\x12~\n\x11getAddressesInfos\x12\x33.org.dash.platform.dapi.v0.GetAddressesInfosRequest\x1a\x34.org.dash.platform.dapi.v0.GetAddressesInfosResponse\x12\x8d\x01\n\x16getAddressesTrunkState\x12\x38.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest\x1a\x39.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse\x12\x90\x01\n\x17getAddressesBranchState\x12\x39.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest\x1a:.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse\x12\xa5\x01\n\x1egetRecentAddressBalanceChanges\x12@.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest\x1a\x41.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse\x12\xc0\x01\n\'getRecentCompactedAddressBalanceChanges\x12I.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest\x1aJ.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse\x12\x96\x01\n\x19getShieldedEncryptedNotes\x12;.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest\x1a<.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse\x12\x81\x01\n\x12getShieldedAnchors\x12\x34.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest\x1a\x35.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse\x12\x9c\x01\n\x1bgetMostRecentShieldedAnchor\x12=.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest\x1a>.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse\x12\x87\x01\n\x14getShieldedPoolState\x12\x36.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest\x1a\x37.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse\x12\x8a\x01\n\x15getShieldedNotesCount\x12\x37.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse\x12\x8a\x01\n\x15getShieldedNullifiers\x12\x37.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNullifiersResponseb\x06proto3' + serialized_pb=b'\n\x0eplatform.proto\x12\x19org.dash.platform.dapi.v0\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x05Proof\x12\x15\n\rgrovedb_proof\x18\x01 \x01(\x0c\x12\x13\n\x0bquorum_hash\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\r\n\x05round\x18\x04 \x01(\r\x12\x15\n\rblock_id_hash\x18\x05 \x01(\x0c\x12\x13\n\x0bquorum_type\x18\x06 \x01(\r\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x18\n\x10protocol_version\x18\x05 \x01(\r\x12\x10\n\x08\x63hain_id\x18\x06 \x01(\t\"L\n\x1dStateTransitionBroadcastError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\";\n\x1f\x42roadcastStateTransitionRequest\x12\x18\n\x10state_transition\x18\x01 \x01(\x0c\"\"\n BroadcastStateTransitionResponse\"\xa4\x01\n\x12GetIdentityRequest\x12P\n\x02v0\x18\x01 \x01(\x0b\x32\x42.org.dash.platform.dapi.v0.GetIdentityRequest.GetIdentityRequestV0H\x00\x1a\x31\n\x14GetIdentityRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xc0\x01\n\x19GetIdentityBalanceRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetIdentityBalanceRequest.GetIdentityBalanceRequestV0H\x00\x1a\x38\n\x1bGetIdentityBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xec\x01\n$GetIdentityBalanceAndRevisionRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest.GetIdentityBalanceAndRevisionRequestV0H\x00\x1a\x43\n&GetIdentityBalanceAndRevisionRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9e\x02\n\x13GetIdentityResponse\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetIdentityResponse.GetIdentityResponseV0H\x00\x1a\xa7\x01\n\x15GetIdentityResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8e\x02\n&GetIdentityKeysRemainingBudgetsRequest\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest.GetIdentityKeysRemainingBudgetsRequestV0H\x00\x1a_\n(GetIdentityKeysRemainingBudgetsRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x0f\n\x07key_ids\x18\x02 \x03(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x96\x06\n\'GetIdentityKeysRemainingBudgetsResponse\x12z\n\x02v0\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0H\x00\x1a\xe3\x04\n)GetIdentityKeysRemainingBudgetsResponseV0\x12\xa4\x01\n\x16keys_remaining_budgets\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeysRemainingBudgetsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x61\n\x17KeyRemainingBudgetEntry\x12\x0e\n\x06key_id\x18\x01 \x01(\r\x12!\n\x10remaining_budget\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\x13\n\x11_remaining_budget\x1a\xaf\x01\n\x14KeysRemainingBudgets\x12\x96\x01\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse.GetIdentityKeysRemainingBudgetsResponseV0.KeyRemainingBudgetEntryB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\n\'GetIdentityBalanceAndRevisionResponseV0\x12\x9b\x01\n\x14\x62\x61lance_and_revision\x18\x01 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0.BalanceAndRevisionH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\x42\x08\n\x06resultB\t\n\x07version\"\xd1\x01\n\x0eKeyRequestType\x12\x36\n\x08\x61ll_keys\x18\x01 \x01(\x0b\x32\".org.dash.platform.dapi.v0.AllKeysH\x00\x12@\n\rspecific_keys\x18\x02 \x01(\x0b\x32\'.org.dash.platform.dapi.v0.SpecificKeysH\x00\x12:\n\nsearch_key\x18\x03 \x01(\x0b\x32$.org.dash.platform.dapi.v0.SearchKeyH\x00\x42\t\n\x07request\"\t\n\x07\x41llKeys\"\x1f\n\x0cSpecificKeys\x12\x0f\n\x07key_ids\x18\x01 \x03(\r\"\xb6\x01\n\tSearchKey\x12I\n\x0bpurpose_map\x18\x01 \x03(\x0b\x32\x34.org.dash.platform.dapi.v0.SearchKey.PurposeMapEntry\x1a^\n\x0fPurposeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.org.dash.platform.dapi.v0.SecurityLevelMap:\x02\x38\x01\"\xbf\x02\n\x10SecurityLevelMap\x12]\n\x12security_level_map\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.SecurityLevelMap.SecurityLevelMapEntry\x1aw\n\x15SecurityLevelMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12M\n\x05value\x18\x02 \x01(\x0e\x32>.org.dash.platform.dapi.v0.SecurityLevelMap.KeyKindRequestType:\x02\x38\x01\"S\n\x12KeyKindRequestType\x12\x1f\n\x1b\x43URRENT_KEY_OF_KIND_REQUEST\x10\x00\x12\x1c\n\x18\x41LL_KEYS_OF_KIND_REQUEST\x10\x01\"\xda\x02\n\x16GetIdentityKeysRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetIdentityKeysRequest.GetIdentityKeysRequestV0H\x00\x1a\xda\x01\n\x18GetIdentityKeysRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12?\n\x0crequest_type\x18\x02 \x01(\x0b\x32).org.dash.platform.dapi.v0.KeyRequestType\x12+\n\x05limit\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\x99\x03\n\x17GetIdentityKeysResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0H\x00\x1a\x96\x02\n\x19GetIdentityKeysResponseV0\x12\x61\n\x04keys\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetIdentityKeysResponse.GetIdentityKeysResponseV0.KeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x04Keys\x12\x12\n\nkeys_bytes\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a?\n\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x16GetDataContractRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetDataContractRequest.GetDataContractRequestV0H\x00\x1a\x35\n\x18GetDataContractRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xb3\x02\n\x17GetDataContractResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractResponse.GetDataContractResponseV0H\x00\x1a\xb0\x01\n\x19GetDataContractResponseV0\x12\x17\n\rdata_contract\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\x8c\x02\n%GetDataContractsLatestVersionsRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest.GetDataContractsLatestVersionsRequestV0H\x00\x1a`\n\'GetDataContractsLatestVersionsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\x19\n\x11include_contracts\x18\x02 \x01(\x08\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xfa\x05\n&GetDataContractsLatestVersionsResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.GetDataContractsLatestVersionsResponseV0H\x00\x1a\x84\x01\n\x1e\x44\x61taContractLatestVersionEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x14\n\x07version\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rdata_contract\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\n\n\x08_versionB\x10\n\x0e_data_contract\x1a\x90\x01\n\x1b\x44\x61taContractsLatestVersions\x12q\n\x07\x65ntries\x18\x01 \x03(\x0b\x32`.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractLatestVersionEntry\x1a\xb0\x02\n(GetDataContractsLatestVersionsResponseV0\x12\x87\x01\n\x1e\x64\x61ta_contracts_latest_versions\x18\x01 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse.DataContractsLatestVersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"R\n\x1f\x43ontractGroupDocumentTypeMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\"G\n\x18\x43ontractGroupTokenMember\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x16\n\x0etoken_position\x18\x02 \x01(\r\"\xd7\x01\n\x1bGetContractGroupInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetContractGroupInfoRequest.GetContractGroupInfoRequestV0H\x00\x1aI\n\x1dGetContractGroupInfoRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x98\x04\n\x1cGetContractGroupInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.GetContractGroupInfoResponseV0H\x00\x1a~\n\x11\x43ontractGroupInfo\x12\x10\n\x08owner_id\x18\x01 \x01(\x0c\x12\x11\n\tadmin_ids\x18\x02 \x03(\x0c\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_description\x1a\x86\x02\n\x1eGetContractGroupInfoResponseV0\x12h\n\x13\x63ontract_group_info\x18\x01 \x01(\x0b\x32I.org.dash.platform.dapi.v0.GetContractGroupInfoResponse.ContractGroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf8\x06\n\x1eGetContractGroupMembersRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.GetContractGroupMembersRequestV0H\x00\x1a@\n\x14\x43ontractMembersQuery\x12\x18\n\x0bstart_after\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\x80\x01\n\x18\x44ocumentTypeMembersQuery\x12T\n\x0bstart_after\x18\x01 \x01(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1ar\n\x11TokenMembersQuery\x12M\n\x0bstart_after\x18\x01 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMemberH\x00\x88\x01\x01\x42\x0e\n\x0c_start_after\x1a\xa7\x03\n GetContractGroupMembersRequestV0\x12\x19\n\x11\x63ontract_group_id\x18\x01 \x01(\x0c\x12\x63\n\tcontracts\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.ContractMembersQueryH\x00\x12l\n\x0e\x64ocument_types\x18\x03 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.DocumentTypeMembersQueryH\x00\x12]\n\x06tokens\x18\x04 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetContractGroupMembersRequest.TokenMembersQueryH\x00\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\t\n\x07membersB\x08\n\x06_limitB\t\n\x07version\"\xc9\x06\n\x1fGetContractGroupMembersResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.GetContractGroupMembersResponseV0H\x00\x1a\'\n\x0f\x43ontractMembers\x12\x14\n\x0c\x63ontract_ids\x18\x01 \x03(\x0c\x1ai\n\x13\x44ocumentTypeMembers\x12R\n\x0e\x64ocument_types\x18\x01 \x03(\x0b\x32:.org.dash.platform.dapi.v0.ContractGroupDocumentTypeMember\x1aS\n\x0cTokenMembers\x12\x43\n\x06tokens\x18\x01 \x03(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractGroupTokenMember\x1a\xc5\x03\n!GetContractGroupMembersResponseV0\x12_\n\tcontracts\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.ContractMembersH\x00\x12h\n\x0e\x64ocument_types\x18\x02 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.DocumentTypeMembersH\x00\x12Y\n\x06tokens\x18\x03 \x01(\x0b\x32G.org.dash.platform.dapi.v0.GetContractGroupMembersResponse.TokenMembersH\x00\x12\x31\n\x05proof\x18\x04 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"D\n\x18\x43ontractModerationReason\x12\x11\n\x04\x63ode\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04text\x18\x02 \x01(\tB\x07\n\x05_code\"\xc5\x02\n\"GetContractModerationStatusRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetContractModerationStatusRequest.GetContractModerationStatusRequestV0H\x00\x1a\xa1\x01\n$GetContractModerationStatusRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x13\n\x0bidentity_id\x18\x02 \x01(\x0c\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\xae\x06\n#GetContractModerationStatusResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.GetContractModerationStatusResponseV0H\x00\x1a\xf6\x02\n\x18\x43ontractModerationStatus\x12\x13\n\x06\x62\x61nned\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x0fsuspended_until\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12@\n\x05lists\x18\x03 \x03(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12L\n\nban_reason\x18\x04 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x02\x88\x01\x01\x12S\n\x11suspension_reason\x18\x05 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonH\x03\x88\x01\x01\x42\t\n\x07_bannedB\x12\n\x10_suspended_untilB\r\n\x0b_ban_reasonB\x14\n\x12_suspension_reason\x1a\x8e\x02\n%GetContractModerationStatusResponseV0\x12i\n\x06status\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationStatusResponse.ContractModerationStatusH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xfb\x02\n#GetContractModerationEntriesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest.GetContractModerationEntriesRequestV0H\x00\x1a\xd4\x01\n%GetContractModerationEntriesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12?\n\x04list\x18\x02 \x01(\x0e\x32\x31.org.dash.platform.dapi.v0.ContractModerationList\x12\x18\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x0e\n\x0c_start_afterB\x08\n\x06_limitB\t\n\x07version\"\xd8\x05\n$GetContractModerationEntriesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.GetContractModerationEntriesResponseV0H\x00\x1a\x91\x01\n\x17\x43ontractModerationEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x12\n\x05until\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x43\n\x06reason\x18\x03 \x01(\x0b\x32\x33.org.dash.platform.dapi.v0.ContractModerationReasonB\x08\n\x06_until\x1a\x85\x01\n\x19\x43ontractModerationEntries\x12h\n\x07\x65ntries\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntry\x1a\x92\x02\n&GetContractModerationEntriesResponseV0\x12l\n\x07\x65ntries\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse.ContractModerationEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc9\x01\n\x19GetContractFeePotsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetContractFeePotsRequest.GetContractFeePotsRequestV0H\x00\x1a\x41\n\x1bGetContractFeePotsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x06\n\x1aGetContractFeePotsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0H\x00\x1aR\n\x17\x43ontractFeePotLastClaim\x12\r\n\x05\x65poch\x18\x01 \x01(\r\x12\x13\n\x07time_ms\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x0b\x63laimant_id\x18\x03 \x01(\x0c\x1a\x88\x01\n\x0e\x43ontractFeePot\x12\x13\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x61\n\nlast_claim\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim\x1a\xc0\x01\n\x0f\x43ontractFeePots\x12S\n\x05owner\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x12X\n\nmoderators\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot\x1a\xf1\x01\n\x1cGetContractFeePotsResponseV0\x12U\n\x04pots\x18\x01 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf1\x01\n#GetContractGroupsForContractRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest.GetContractGroupsForContractRequestV0H\x00\x1aK\n%GetContractGroupsForContractRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf5\x06\n$GetContractGroupsForContractResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.GetContractGroupsForContractResponseV0H\x00\x1aQ\n\x17\x44ocumentTypeMemberships\x12\x1a\n\x12\x64ocument_type_name\x18\x01 \x01(\t\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x46\n\x10TokenMemberships\x12\x16\n\x0etoken_position\x18\x01 \x01(\r\x12\x1a\n\x12\x63ontract_group_ids\x18\x02 \x03(\x0c\x1a\x89\x02\n\x18\x43ontractGroupMemberships\x12\x1a\n\x12\x63ontract_group_ids\x18\x01 \x03(\x0c\x12o\n\x0e\x64ocument_types\x18\x02 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.DocumentTypeMemberships\x12`\n\x06tokens\x18\x03 \x03(\x0b\x32P.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.TokenMemberships\x1a\xa4\x02\n&GetContractGroupsForContractResponseV0\x12~\n\x1a\x63ontract_group_memberships\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse.ContractGroupMembershipsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb9\x01\n\x17GetDataContractsRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetDataContractsRequest.GetDataContractsRequestV0H\x00\x1a\x37\n\x19GetDataContractsRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xad\x02\n\x1eGetDataContractsByRangeRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest.GetDataContractsByRangeRequestV0H\x00\x1a\x95\x01\n GetDataContractsByRangeRequestV0\x12\x12\n\x05limit\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x03 \x01(\x0cH\x00\x12\x10\n\x08ids_only\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_limitB\t\n\x07version\"\xcf\x04\n\x18GetDataContractsResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetDataContractsResponse.GetDataContractsResponseV0H\x00\x1a[\n\x11\x44\x61taContractEntry\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x32\n\rdata_contract\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x1au\n\rDataContracts\x12\x64\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32\x45.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractEntry\x1a\xf5\x01\n\x1aGetDataContractsResponseV0\x12[\n\x0e\x64\x61ta_contracts\x18\x01 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDataContractsResponse.DataContractsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\x01\n\x1fGetDataContractHistoryRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\x04\n GetDataContractHistoryResponseV0\x12\x8f\x01\n\x15\x64\x61ta_contract_history\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x13\x44\x61taContractHistory\x12\x92\x01\n\x15\x64\x61ta_contract_entries\x18\x01 \x03(\x0b\x32s.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0.DataContractHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xe0\x1f\n\x13GetDocumentsRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV0H\x00\x12R\n\x02v1\x18\x02 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1H\x00\x1a\xfe\x02\n\x12\x44ocumentFieldValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x19\n\x0bint64_value\x18\x02 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1a\n\x0cuint64_value\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x0e\n\x04text\x18\x05 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x06 \x01(\x0cH\x00\x12[\n\x04list\x18\x07 \x01(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue.ValueListH\x00\x12\x14\n\nnull_value\x18\x08 \x01(\x08H\x00\x1a^\n\tValueList\x12Q\n\x06values\x18\x01 \x03(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueB\t\n\x07variant\x1a\xe2\x02\n\x12TimeRangeSelection\x12\\\n\x08selector\x18\x01 \x01(\x0e\x32J.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Selector\x12\x19\n\x08start_ms\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12T\n\x04grid\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection.Grid\x1a>\n\x04Grid\x12\x11\n\x05range\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x04step\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x11\n\x05phase\x18\x03 \x01(\x04\x42\x02\x30\x01\"0\n\x08Selector\x12\n\n\x06NEWEST\x10\x00\x12\n\n\x06OLDEST\x10\x01\x12\x0c\n\x08\x42Y_START\x10\x02\x42\x0b\n\t_start_ms\x1a\x95\x02\n\x0bWhereClause\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12N\n\x08operator\x18\x02 \x01(\x0e\x32<.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereOperator\x12P\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValue\x12U\n\ntime_range\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.TimeRangeSelection\x1a\xa4\x01\n\x0fHavingAggregate\x12Y\n\x08\x66unction\x18\x01 \x01(\x0e\x32G.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"\'\n\x08\x46unction\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x1a\xf9\x03\n\x0cHavingClause\x12Q\n\taggregate\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregate\x12V\n\x08operator\x18\x02 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause.Operator\x12R\n\x05value\x18\x03 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetDocumentsRequest.DocumentFieldValueH\x00\"\xe0\x01\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\r\n\tNOT_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x03\x12\r\n\tLESS_THAN\x10\x04\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x07\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x08\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\t\x12\x06\n\x02IN\x10\nB\x07\n\x05right\x1a\x90\x01\n\x0bOrderClause\x12\x0f\n\x05\x66ield\x18\x01 \x01(\tH\x00\x12S\n\taggregate\x18\x03 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingAggregateH\x00\x12\x11\n\tascending\x18\x02 \x01(\x08\x42\x08\n\x06target\x1a\xbb\x01\n\x15GetDocumentsRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12\r\n\x05where\x18\x03 \x01(\x0c\x12\x10\n\x08order_by\x18\x04 \x01(\x0c\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x42\x07\n\x05start\x1a\xa6\x0c\n\x15GetDocumentsRequestV1\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x06 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x07 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x08 \x01(\x08\x12\\\n\x07selects\x18\t \x03(\x0b\x32K.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select\x12\x10\n\x08group_by\x18\n \x03(\t\x12K\n\x06having\x18\x0b \x03(\x0b\x32;.org.dash.platform.dapi.v0.GetDocumentsRequest.HavingClause\x12\x13\n\x06offset\x18\x0c \x01(\rH\x02\x88\x01\x01\x12\x61\n\x07\x63hained\x18\r \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.ChainedJoin\x12\x62\n\x0bsub_queries\x18\x0e \x03(\x0b\x32M.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery\x1a\xc9\x01\n\x06Select\x12\x66\n\x08\x66unction\x18\x01 \x01(\x0e\x32T.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.Select.Function\x12\r\n\x05\x66ield\x18\x02 \x01(\t\"H\n\x08\x46unction\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x07\n\x03SUM\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x1a\x41\n\x0b\x43hainedJoin\x12\x15\n\rjoin_property\x18\x01 \x01(\t\x12\x1b\n\x13outer_document_type\x18\x02 \x01(\t\x1a\xa6\x04\n\x08SubQuery\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x15\n\rdocument_type\x18\x02 \x01(\t\x12Q\n\rwhere_clauses\x18\x03 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.WhereClause\x12L\n\x08order_by\x18\x04 \x03(\x0b\x32:.org.dash.platform.dapi.v0.GetDocumentsRequest.OrderClause\x12\x12\n\x05limit\x18\x05 \x01(\rH\x00\x88\x01\x01\x12`\n\x04kind\x18\x06 \x01(\x0e\x32R.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Kind\x12\x63\n\x04\x62ind\x18\x07 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsRequest.GetDocumentsRequestV1.SubQuery.Binding\x1a\x41\n\x07\x42inding\x12\x0e\n\x06source\x18\x01 \x01(\r\x12\x17\n\x0fsource_property\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\" \n\x04Kind\x12\r\n\tDOCUMENTS\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x42\x08\n\x06_limitB\x07\n\x05startB\x08\n\x06_limitB\t\n\x07_offset\"\xfa\x01\n\rWhereOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x02\x12\r\n\tLESS_THAN\x10\x03\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x04\x12\x0b\n\x07\x42\x45TWEEN\x10\x05\x12\x1a\n\x16\x42\x45TWEEN_EXCLUDE_BOUNDS\x10\x06\x12\x18\n\x14\x42\x45TWEEN_EXCLUDE_LEFT\x10\x07\x12\x19\n\x15\x42\x45TWEEN_EXCLUDE_RIGHT\x10\x08\x12\x06\n\x02IN\x10\t\x12\x0f\n\x0bSTARTS_WITH\x10\n\x12\x11\n\rIN_TIME_RANGE\x10\x0b\x42\t\n\x07version\"\xc2\x1b\n\x14GetDocumentsResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0H\x00\x12T\n\x02v1\x18\x02 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1H\x00\x1a\x9b\x02\n\x16GetDocumentsResponseV0\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV0.DocumentsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x42\x08\n\x06result\x1a\xd4\x17\n\x16GetDocumentsResponseV1\x12\x61\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ResultDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1e\n\tDocuments\x12\x11\n\tdocuments\x18\x01 \x03(\x0c\x1aL\n\nCountEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07_in_key\x1ar\n\x0c\x43ountEntries\x12\x62\n\x07\x65ntries\x18\x01 \x03(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntry\x1a\xa0\x01\n\x0c\x43ountResults\x12\x1d\n\x0f\x61ggregate_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x66\n\x07\x65ntries\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\t\n\x07variant\x1aH\n\x08SumEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x0f\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1an\n\nSumEntries\x12`\n\x07\x65ntries\x18\x01 \x03(\x0b\x32O.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntry\x1a\x9a\x01\n\nSumResults\x12\x1b\n\raggregate_sum\x18\x01 \x01(\x12\x42\x02\x30\x01H\x00\x12\x64\n\x07\x65ntries\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumEntriesH\x00\x42\t\n\x07variant\x1a_\n\x0c\x41verageEntry\x12\x13\n\x06in_key\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x02 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x04 \x01(\x12\x42\x02\x30\x01\x42\t\n\x07_in_key\x1av\n\x0e\x41verageEntries\x12\x64\n\x07\x65ntries\x18\x01 \x03(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntry\x1a\x36\n\x10\x41verageAggregate\x12\x11\n\x05\x63ount\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x0f\n\x03sum\x18\x02 \x01(\x12\x42\x02\x30\x01\x1a\xfb\x01\n\x0e\x41verageResults\x12t\n\x11\x61ggregate_average\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageAggregateH\x00\x12h\n\x07\x65ntries\x18\x02 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageEntriesH\x00\x42\t\n\x07variant\x1az\n\x0bRankedEntry\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\x13\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x11\n\x03sum\x18\x03 \x01(\x12\x42\x02\x30\x01H\x00\x12\r\n\x03\x61vg\x18\x04 \x01(\x01H\x00\x12\x13\n\x06in_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x07\n\x05valueB\t\n\x07_in_key\x1a\x9a\x01\n\rRankedEntries\x12\x63\n\x07\x65ntries\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntry\x12\x18\n\x07skipped\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_skipped\x1a\xf7\x05\n\nResultData\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountResultsH\x00\x12\x61\n\x04sums\x18\x03 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.SumResultsH\x00\x12i\n\x08\x61verages\x18\x04 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.AverageResultsH\x00\x12\x66\n\x06ranked\x18\x05 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.RankedEntriesH\x00\x12j\n\x07\x63hained\x18\x06 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.ChainedDocumentsH\x00\x12n\n\tcomposite\x18\x07 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocumentsH\x00\x42\t\n\x07variant\x1a\x44\n\x10\x43hainedDocuments\x12\x17\n\x0finner_documents\x18\x01 \x03(\x0c\x12\x17\n\x0fouter_documents\x18\x02 \x03(\x0c\x1a\x96\x03\n\x12\x43ompositeDocuments\x12\x16\n\x0epage_documents\x18\x01 \x03(\x0c\x12}\n\x0bsub_results\x18\x02 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CompositeDocuments.SubQueryResult\x1a\xe8\x01\n\x0eSubQueryResult\x12\x65\n\tdocuments\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.DocumentsH\x00\x12\x65\n\x06\x63ounts\x18\x02 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetDocumentsResponse.GetDocumentsResponseV1.CountEntriesH\x00\x42\x08\n\x06resultB\x08\n\x06resultB\t\n\x07version\"\xf4\x02\n\x19GetDocumentHistoryRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetDocumentHistoryRequest.GetDocumentHistoryRequestV0H\x00\x1a\xeb\x01\n\x1bGetDocumentHistoryRequestV0\x12\x18\n\x10\x64\x61ta_contract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64ocument_id\x18\x03 \x01(\x0c\x12+\n\x05limit\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0bstart_at_ms\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x07 \x01(\x08\x42\t\n\x07version\"\xf7\x04\n\x1aGetDocumentHistoryResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0H\x00\x1a\xeb\x03\n\x1cGetDocumentHistoryResponseV0\x12~\n\x10\x64ocument_history\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x37\n\x14\x44ocumentHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x1a\x95\x01\n\x0f\x44ocumentHistory\x12\x81\x01\n\x10\x64ocument_entries\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetDocumentHistoryResponse.GetDocumentHistoryResponseV0.DocumentHistoryEntryB\x08\n\x06resultB\t\n\x07version\"\xed\x01\n!GetIdentityByPublicKeyHashRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest.GetIdentityByPublicKeyHashRequestV0H\x00\x1aM\n#GetIdentityByPublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xda\x02\n\"GetIdentityByPublicKeyHashResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0H\x00\x1a\xb6\x01\n$GetIdentityByPublicKeyHashResponseV0\x12\x12\n\x08identity\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbd\x02\n*GetIdentityByNonUniquePublicKeyHashRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0H\x00\x1a\x80\x01\n,GetIdentityByNonUniquePublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\x18\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x0e\n\x0c_start_afterB\t\n\x07version\"\xd6\x06\n+GetIdentityByNonUniquePublicKeyHashResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0H\x00\x1a\x96\x05\n-GetIdentityByNonUniquePublicKeyHashResponseV0\x12\x9a\x01\n\x08identity\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponseH\x00\x12\x9d\x01\n\x05proof\x18\x02 \x01(\x0b\x32\x8b\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponseH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x10IdentityResponse\x12\x15\n\x08identity\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_identity\x1a\xa6\x01\n\x16IdentityProvedResponse\x12P\n&grovedb_identity_public_key_hash_proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12!\n\x14identity_proof_bytes\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x17\n\x15_identity_proof_bytesB\x08\n\x06resultB\t\n\x07version\"\xfb\x01\n#WaitForStateTransitionResultRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0H\x00\x1aU\n%WaitForStateTransitionResultRequestV0\x12\x1d\n\x15state_transition_hash\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x99\x03\n$WaitForStateTransitionResultResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0H\x00\x1a\xef\x01\n&WaitForStateTransitionResultResponseV0\x12I\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x38.org.dash.platform.dapi.v0.StateTransitionBroadcastErrorH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x19GetConsensusParamsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0H\x00\x1a<\n\x1bGetConsensusParamsRequestV0\x12\x0e\n\x06height\x18\x01 \x01(\x05\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9c\x04\n\x1aGetConsensusParamsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0H\x00\x1aP\n\x14\x43onsensusParamsBlock\x12\x11\n\tmax_bytes\x18\x01 \x01(\t\x12\x0f\n\x07max_gas\x18\x02 \x01(\t\x12\x14\n\x0ctime_iota_ms\x18\x03 \x01(\t\x1a\x62\n\x17\x43onsensusParamsEvidence\x12\x1a\n\x12max_age_num_blocks\x18\x01 \x01(\t\x12\x18\n\x10max_age_duration\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\t\x1a\xda\x01\n\x1cGetConsensusParamsResponseV0\x12Y\n\x05\x62lock\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock\x12_\n\x08\x65vidence\x18\x02 \x01(\x0b\x32M.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidenceB\t\n\x07version\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry\x1a:\n\x0cVersionEntry\x12\x16\n\x0eversion_number\x18\x01 \x01(\r\x12\x12\n\nvote_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\x12\x19\n\x11start_pro_tx_hash\x18\x01 \x01(\x0c\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignalsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal\x1a\x35\n\rVersionSignal\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xf5\x01\n\x14GetEpochsInfoRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0H\x00\x1a|\n\x16GetEpochsInfoRequestV0\x12\x31\n\x0bstart_epoch\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x11\n\tascending\x18\x03 \x01(\x08\x12\r\n\x05prove\x18\x04 \x01(\x08\x42\t\n\x07version\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\n\x17GetEpochsInfoResponseV0\x12\x65\n\x06\x65pochs\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1au\n\nEpochInfos\x12g\n\x0b\x65poch_infos\x18\x01 \x03(\x0b\x32R.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo\x1a\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xbf\x02\n\x1dGetFinalizedEpochInfosRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0H\x00\x1a\xaa\x01\n\x1fGetFinalizedEpochInfosRequestV0\x12\x19\n\x11start_epoch_index\x18\x01 \x01(\r\x12\"\n\x1astart_epoch_index_included\x18\x02 \x01(\x08\x12\x17\n\x0f\x65nd_epoch_index\x18\x03 \x01(\r\x12 \n\x18\x65nd_epoch_index_included\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xbd\t\n\x1eGetFinalizedEpochInfosResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0H\x00\x1a\xa5\x08\n GetFinalizedEpochInfosResponseV0\x12\x80\x01\n\x06\x65pochs\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xa4\x01\n\x13\x46inalizedEpochInfos\x12\x8c\x01\n\x15\x66inalized_epoch_infos\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo\x1a\x9f\x04\n\x12\x46inalizedEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x1c\n\x10\x66irst_block_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\r\x12!\n\x15total_blocks_in_epoch\x18\x07 \x01(\x04\x42\x02\x30\x01\x12*\n\"next_epoch_start_core_block_height\x18\x08 \x01(\r\x12!\n\x15total_processing_fees\x18\t \x01(\x04\x42\x02\x30\x01\x12*\n\x1etotal_distributed_storage_fees\x18\n \x01(\x04\x42\x02\x30\x01\x12&\n\x1atotal_created_storage_fees\x18\x0b \x01(\x04\x42\x02\x30\x01\x12\x1e\n\x12\x63ore_block_rewards\x18\x0c \x01(\x04\x42\x02\x30\x01\x12\x81\x01\n\x0f\x62lock_proposers\x18\r \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer\x1a\x39\n\rBlockProposer\x12\x13\n\x0bproposer_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lock_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a<\n\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12+\n\x05limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12,\n\x06offset\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc4\x01\n\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xe4\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xf3\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\x82\x05\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xcc\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a<\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x12\n\nnext_epoch\x18\x05 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a(\n\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xce\x01\n\x1bGetTokenContractInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0H\x00\x1a@\n\x1dGetTokenContractInfoRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xfb\x03\n\x1cGetTokenContractInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0H\x00\x1a\xe9\x02\n\x1eGetTokenContractInfoResponseV0\x12|\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoDataH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aM\n\x15TokenContractInfoData\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a>\n\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\x82\x04\n-GetTokenPerpetualDistributionLastClaimRequest\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0H\x00\x1aI\n\x11\x43ontractTokenInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\r\x1a\xf1\x01\n/GetTokenPerpetualDistributionLastClaimRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12v\n\rcontract_info\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfoH\x00\x88\x01\x01\x12\x13\n\x0bidentity_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x10\n\x0e_contract_infoB\t\n\x07version\"\x93\x05\n.GetTokenPerpetualDistributionLastClaimResponse\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0H\x00\x1a\xca\x03\n0GetTokenPerpetualDistributionLastClaimResponseV0\x12\x9f\x01\n\nlast_claim\x18\x01 \x01(\x0b\x32\x88\x01.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\rLastClaimInfo\x12\x1a\n\x0ctimestamp_ms\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1a\n\x0c\x62lock_height\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x0f\n\x05\x65poch\x18\x03 \x01(\rH\x00\x12\x13\n\traw_bytes\x18\x04 \x01(\x0cH\x00\x42\t\n\x07paid_atB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xd6\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xd3\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a[\n\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a[\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0c\x62urn_from_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x15GetAddressInfoRequest\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetAddressInfoRequest.GetAddressInfoRequestV0H\x00\x1a\x39\n\x17GetAddressInfoRequestV0\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x85\x01\n\x10\x41\x64\x64ressInfoEntry\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12J\n\x11\x62\x61lance_and_nonce\x18\x02 \x01(\x0b\x32*.org.dash.platform.dapi.v0.BalanceAndNonceH\x00\x88\x01\x01\x42\x14\n\x12_balance_and_nonce\"1\n\x0f\x42\x61lanceAndNonce\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\x12\r\n\x05nonce\x18\x02 \x01(\r\"_\n\x12\x41\x64\x64ressInfoEntries\x12I\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x03(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntry\"m\n\x14\x41\x64\x64ressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_balance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1c\n\x0e\x61\x64\x64_to_balance\x18\x03 \x01(\x04\x42\x02\x30\x01H\x00\x42\x0b\n\toperation\"x\n\x1a\x42lockAddressBalanceChanges\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12@\n\x07\x63hanges\x18\x02 \x03(\x0b\x32/.org.dash.platform.dapi.v0.AddressBalanceChange\"k\n\x1b\x41\x64\x64ressBalanceUpdateEntries\x12L\n\rblock_changes\x18\x01 \x03(\x0b\x32\x35.org.dash.platform.dapi.v0.BlockAddressBalanceChanges\"\xe1\x02\n\x16GetAddressInfoResponse\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetAddressInfoResponse.GetAddressInfoResponseV0H\x00\x1a\xe1\x01\n\x18GetAddressInfoResponseV0\x12I\n\x12\x61\x64\x64ress_info_entry\x18\x01 \x01(\x0b\x32+.org.dash.platform.dapi.v0.AddressInfoEntryH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc3\x01\n\x18GetAddressesInfosRequest\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetAddressesInfosRequest.GetAddressesInfosRequestV0H\x00\x1a>\n\x1aGetAddressesInfosRequestV0\x12\x11\n\taddresses\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf1\x02\n\x19GetAddressesInfosResponse\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetAddressesInfosResponse.GetAddressesInfosResponseV0H\x00\x1a\xe8\x01\n\x1bGetAddressesInfosResponseV0\x12M\n\x14\x61\x64\x64ress_info_entries\x18\x01 \x01(\x0b\x32-.org.dash.platform.dapi.v0.AddressInfoEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xb5\x01\n\x1dGetAddressesTrunkStateRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest.GetAddressesTrunkStateRequestV0H\x00\x1a!\n\x1fGetAddressesTrunkStateRequestV0B\t\n\x07version\"\xaa\x02\n\x1eGetAddressesTrunkStateResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse.GetAddressesTrunkStateResponseV0H\x00\x1a\x92\x01\n GetAddressesTrunkStateResponseV0\x12/\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf0\x01\n\x1eGetAddressesBranchStateRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest.GetAddressesBranchStateRequestV0H\x00\x1aY\n GetAddressesBranchStateRequestV0\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\r\x12\x19\n\x11\x63heckpoint_height\x18\x03 \x01(\x04\x42\t\n\x07version\"\xd1\x01\n\x1fGetAddressesBranchStateResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse.GetAddressesBranchStateResponseV0H\x00\x1a\x37\n!GetAddressesBranchStateResponseV0\x12\x12\n\nmerk_proof\x18\x02 \x01(\x0c\x42\t\n\x07version\"\x9e\x02\n%GetRecentAddressBalanceChangesRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest.GetRecentAddressBalanceChangesRequestV0H\x00\x1ar\n\'GetRecentAddressBalanceChangesRequestV0\x12\x18\n\x0cstart_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x12\x1e\n\x16start_height_exclusive\x18\x03 \x01(\x08\x42\t\n\x07version\"\xb8\x03\n&GetRecentAddressBalanceChangesResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse.GetRecentAddressBalanceChangesResponseV0H\x00\x1a\x88\x02\n(GetRecentAddressBalanceChangesResponseV0\x12`\n\x1e\x61\x64\x64ress_balance_update_entries\x18\x01 \x01(\x0b\x32\x36.org.dash.platform.dapi.v0.AddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"G\n\x16\x42lockHeightCreditEntry\x12\x18\n\x0c\x62lock_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x07\x63redits\x18\x02 \x01(\x04\x42\x02\x30\x01\"\xb0\x01\n\x1d\x43ompactedAddressBalanceChange\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x19\n\x0bset_credits\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12V\n\x19\x61\x64\x64_to_credits_operations\x18\x03 \x01(\x0b\x32\x31.org.dash.platform.dapi.v0.AddToCreditsOperationsH\x00\x42\x0b\n\toperation\"\\\n\x16\x41\x64\x64ToCreditsOperations\x12\x42\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.org.dash.platform.dapi.v0.BlockHeightCreditEntry\"\xae\x01\n#CompactedBlockAddressBalanceChanges\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1c\n\x10\x65nd_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12I\n\x07\x63hanges\x18\x03 \x03(\x0b\x32\x38.org.dash.platform.dapi.v0.CompactedAddressBalanceChange\"\x87\x01\n$CompactedAddressBalanceUpdateEntries\x12_\n\x17\x63ompacted_block_changes\x18\x01 \x03(\x0b\x32>.org.dash.platform.dapi.v0.CompactedBlockAddressBalanceChanges\"\xa9\x02\n.GetRecentCompactedAddressBalanceChangesRequest\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest.GetRecentCompactedAddressBalanceChangesRequestV0H\x00\x1a\x61\n0GetRecentCompactedAddressBalanceChangesRequestV0\x12\x1e\n\x12start_block_height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf0\x03\n/GetRecentCompactedAddressBalanceChangesResponse\x12\x8a\x01\n\x02v0\x18\x01 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse.GetRecentCompactedAddressBalanceChangesResponseV0H\x00\x1a\xa4\x02\n1GetRecentCompactedAddressBalanceChangesResponseV0\x12s\n(compacted_address_balance_update_entries\x18\x01 \x01(\x0b\x32?.org.dash.platform.dapi.v0.CompactedAddressBalanceUpdateEntriesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xf4\x01\n GetShieldedEncryptedNotesRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest.GetShieldedEncryptedNotesRequestV0H\x00\x1aW\n\"GetShieldedEncryptedNotesRequestV0\x12\x13\n\x0bstart_index\x18\x01 \x01(\x04\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xbc\x05\n!GetShieldedEncryptedNotesResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0H\x00\x1a\x9b\x04\n#GetShieldedEncryptedNotesResponseV0\x12\x8a\x01\n\x0f\x65ncrypted_notes\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNotesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1aW\n\rEncryptedNote\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x0b\n\x03\x63mx\x18\x02 \x01(\x0c\x12\x16\n\x0e\x65ncrypted_note\x18\x03 \x01(\x0c\x12\x0e\n\x06\x63v_net\x18\x04 \x01(\x0c\x1a\x91\x01\n\x0e\x45ncryptedNotes\x12\x7f\n\x07\x65ntries\x18\x01 \x03(\x0b\x32n.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse.GetShieldedEncryptedNotesResponseV0.EncryptedNoteB\x08\n\x06resultB\t\n\x07version\"\xb4\x01\n\x19GetShieldedAnchorsRequest\x12^\n\x02v0\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest.GetShieldedAnchorsRequestV0H\x00\x1a,\n\x1bGetShieldedAnchorsRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb1\x03\n\x1aGetShieldedAnchorsResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0H\x00\x1a\xa5\x02\n\x1cGetShieldedAnchorsResponseV0\x12m\n\x07\x61nchors\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse.GetShieldedAnchorsResponseV0.AnchorsH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x1a\n\x07\x41nchors\x12\x0f\n\x07\x61nchors\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd8\x01\n\"GetMostRecentShieldedAnchorRequest\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest.GetMostRecentShieldedAnchorRequestV0H\x00\x1a\x35\n$GetMostRecentShieldedAnchorRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xdc\x02\n#GetMostRecentShieldedAnchorResponse\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse.GetMostRecentShieldedAnchorResponseV0H\x00\x1a\xb5\x01\n%GetMostRecentShieldedAnchorResponseV0\x12\x10\n\x06\x61nchor\x18\x01 \x01(\x0cH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xbc\x01\n\x1bGetShieldedPoolStateRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest.GetShieldedPoolStateRequestV0H\x00\x1a.\n\x1dGetShieldedPoolStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xcb\x02\n\x1cGetShieldedPoolStateResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse.GetShieldedPoolStateResponseV0H\x00\x1a\xb9\x01\n\x1eGetShieldedPoolStateResponseV0\x12\x1b\n\rtotal_balance\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xc0\x01\n\x1cGetShieldedNotesCountRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest.GetShieldedNotesCountRequestV0H\x00\x1a/\n\x1eGetShieldedNotesCountRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd3\x02\n\x1dGetShieldedNotesCountResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse.GetShieldedNotesCountResponseV0H\x00\x1a\xbe\x01\n\x1fGetShieldedNotesCountResponseV0\x12\x1f\n\x11total_notes_count\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\x08\n\x06resultB\t\n\x07version\"\xd4\x01\n\x1cGetShieldedNullifiersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest.GetShieldedNullifiersRequestV0H\x00\x1a\x43\n\x1eGetShieldedNullifiersRequestV0\x12\x12\n\nnullifiers\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x86\x05\n\x1dGetShieldedNullifiersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0H\x00\x1a\xf1\x03\n\x1fGetShieldedNullifiersResponseV0\x12\x88\x01\n\x12nullifier_statuses\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusesH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x0fNullifierStatus\x12\x11\n\tnullifier\x18\x01 \x01(\x0c\x12\x10\n\x08is_spent\x18\x02 \x01(\x08\x1a\x8e\x01\n\x11NullifierStatuses\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetShieldedNullifiersResponse.GetShieldedNullifiersResponseV0.NullifierStatusB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05*\x92\x01\n\x16\x43ontractModerationList\x12(\n$CONTRACT_MODERATION_LIST_UNSPECIFIED\x10\x00\x12$\n CONTRACT_MODERATION_LIST_BANLIST\x10\x01\x12(\n$CONTRACT_MODERATION_LIST_SUSPENSIONS\x10\x02\x32\xb1O\n\x08Platform\x12\x93\x01\n\x18\x62roadcastStateTransition\x12:.org.dash.platform.dapi.v0.BroadcastStateTransitionRequest\x1a;.org.dash.platform.dapi.v0.BroadcastStateTransitionResponse\x12l\n\x0bgetIdentity\x12-.org.dash.platform.dapi.v0.GetIdentityRequest\x1a..org.dash.platform.dapi.v0.GetIdentityResponse\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\xa8\x01\n\x1fgetIdentityKeysRemainingBudgets\x12\x41.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsRequest\x1a\x42.org.dash.platform.dapi.v0.GetIdentityKeysRemainingBudgetsResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12x\n\x0fgetDataContract\x12\x31.org.dash.platform.dapi.v0.GetDataContractRequest\x1a\x32.org.dash.platform.dapi.v0.GetDataContractResponse\x12\x8d\x01\n\x16getDataContractHistory\x12\x38.org.dash.platform.dapi.v0.GetDataContractHistoryRequest\x1a\x39.org.dash.platform.dapi.v0.GetDataContractHistoryResponse\x12\xa5\x01\n\x1egetDataContractsLatestVersions\x12@.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsRequest\x1a\x41.org.dash.platform.dapi.v0.GetDataContractsLatestVersionsResponse\x12{\n\x10getDataContracts\x12\x32.org.dash.platform.dapi.v0.GetDataContractsRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x89\x01\n\x17getDataContractsByRange\x12\x39.org.dash.platform.dapi.v0.GetDataContractsByRangeRequest\x1a\x33.org.dash.platform.dapi.v0.GetDataContractsResponse\x12\x87\x01\n\x14getContractGroupInfo\x12\x36.org.dash.platform.dapi.v0.GetContractGroupInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetContractGroupInfoResponse\x12\x90\x01\n\x17getContractGroupMembers\x12\x39.org.dash.platform.dapi.v0.GetContractGroupMembersRequest\x1a:.org.dash.platform.dapi.v0.GetContractGroupMembersResponse\x12\x9f\x01\n\x1cgetContractGroupsForContract\x12>.org.dash.platform.dapi.v0.GetContractGroupsForContractRequest\x1a?.org.dash.platform.dapi.v0.GetContractGroupsForContractResponse\x12\x9c\x01\n\x1bgetContractModerationStatus\x12=.org.dash.platform.dapi.v0.GetContractModerationStatusRequest\x1a>.org.dash.platform.dapi.v0.GetContractModerationStatusResponse\x12\x9f\x01\n\x1cgetContractModerationEntries\x12>.org.dash.platform.dapi.v0.GetContractModerationEntriesRequest\x1a?.org.dash.platform.dapi.v0.GetContractModerationEntriesResponse\x12\x81\x01\n\x12getContractFeePots\x12\x34.org.dash.platform.dapi.v0.GetContractFeePotsRequest\x1a\x35.org.dash.platform.dapi.v0.GetContractFeePotsResponse\x12\x81\x01\n\x12getDocumentHistory\x12\x34.org.dash.platform.dapi.v0.GetDocumentHistoryRequest\x1a\x35.org.dash.platform.dapi.v0.GetDocumentHistoryResponse\x12o\n\x0cgetDocuments\x12..org.dash.platform.dapi.v0.GetDocumentsRequest\x1a/.org.dash.platform.dapi.v0.GetDocumentsResponse\x12\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\xb4\x01\n#getIdentityByNonUniquePublicKeyHash\x12\x45.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest\x1a\x46.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse\x12\x9f\x01\n\x1cwaitForStateTransitionResult\x12>.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest\x1a?.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse\x12\x81\x01\n\x12getConsensusParams\x12\x34.org.dash.platform.dapi.v0.GetConsensusParamsRequest\x1a\x35.org.dash.platform.dapi.v0.GetConsensusParamsResponse\x12\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8d\x01\n\x16getFinalizedEpochInfos\x12\x38.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest\x1a\x39.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\x87\x01\n\x14getTokenContractInfo\x12\x36.org.dash.platform.dapi.v0.GetTokenContractInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetTokenContractInfoResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\xbd\x01\n&getTokenPerpetualDistributionLastClaim\x12H.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest\x1aI.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponse\x12u\n\x0egetAddressInfo\x12\x30.org.dash.platform.dapi.v0.GetAddressInfoRequest\x1a\x31.org.dash.platform.dapi.v0.GetAddressInfoResponse\x12~\n\x11getAddressesInfos\x12\x33.org.dash.platform.dapi.v0.GetAddressesInfosRequest\x1a\x34.org.dash.platform.dapi.v0.GetAddressesInfosResponse\x12\x8d\x01\n\x16getAddressesTrunkState\x12\x38.org.dash.platform.dapi.v0.GetAddressesTrunkStateRequest\x1a\x39.org.dash.platform.dapi.v0.GetAddressesTrunkStateResponse\x12\x90\x01\n\x17getAddressesBranchState\x12\x39.org.dash.platform.dapi.v0.GetAddressesBranchStateRequest\x1a:.org.dash.platform.dapi.v0.GetAddressesBranchStateResponse\x12\xa5\x01\n\x1egetRecentAddressBalanceChanges\x12@.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesRequest\x1a\x41.org.dash.platform.dapi.v0.GetRecentAddressBalanceChangesResponse\x12\xc0\x01\n\'getRecentCompactedAddressBalanceChanges\x12I.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesRequest\x1aJ.org.dash.platform.dapi.v0.GetRecentCompactedAddressBalanceChangesResponse\x12\x96\x01\n\x19getShieldedEncryptedNotes\x12;.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesRequest\x1a<.org.dash.platform.dapi.v0.GetShieldedEncryptedNotesResponse\x12\x81\x01\n\x12getShieldedAnchors\x12\x34.org.dash.platform.dapi.v0.GetShieldedAnchorsRequest\x1a\x35.org.dash.platform.dapi.v0.GetShieldedAnchorsResponse\x12\x9c\x01\n\x1bgetMostRecentShieldedAnchor\x12=.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorRequest\x1a>.org.dash.platform.dapi.v0.GetMostRecentShieldedAnchorResponse\x12\x87\x01\n\x14getShieldedPoolState\x12\x36.org.dash.platform.dapi.v0.GetShieldedPoolStateRequest\x1a\x37.org.dash.platform.dapi.v0.GetShieldedPoolStateResponse\x12\x8a\x01\n\x15getShieldedNotesCount\x12\x37.org.dash.platform.dapi.v0.GetShieldedNotesCountRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNotesCountResponse\x12\x8a\x01\n\x15getShieldedNullifiers\x12\x37.org.dash.platform.dapi.v0.GetShieldedNullifiersRequest\x1a\x38.org.dash.platform.dapi.v0.GetShieldedNullifiersResponseb\x06proto3' , dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -62,8 +62,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=77182, - serialized_end=77272, + serialized_start=77314, + serialized_end=77404, ) _sym_db.RegisterEnumDescriptor(_KEYPURPOSE) @@ -93,8 +93,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=77275, - serialized_end=77421, + serialized_start=77407, + serialized_end=77553, ) _sym_db.RegisterEnumDescriptor(_CONTRACTMODERATIONLIST) @@ -159,8 +159,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=21155, - serialized_end=21203, + serialized_start=21287, + serialized_end=21335, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_TIMERANGESELECTION_SELECTOR) @@ -189,8 +189,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=21624, - serialized_end=21663, + serialized_start=21756, + serialized_end=21795, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_HAVINGAGGREGATE_FUNCTION) @@ -259,8 +259,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=21938, - serialized_end=22162, + serialized_start=22070, + serialized_end=22294, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_HAVINGCLAUSE_OPERATOR) @@ -304,8 +304,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=23363, - serialized_end=23435, + serialized_start=23495, + serialized_end=23567, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SELECT_FUNCTION) @@ -329,8 +329,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=24013, - serialized_end=24045, + serialized_start=24145, + serialized_end=24177, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY_KIND) @@ -404,8 +404,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=24088, - serialized_end=24338, + serialized_start=24220, + serialized_end=24470, ) _sym_db.RegisterEnumDescriptor(_GETDOCUMENTSREQUEST_WHEREOPERATOR) @@ -434,8 +434,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=39892, - serialized_end=39965, + serialized_start=40024, + serialized_end=40097, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE) @@ -464,8 +464,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=40887, - serialized_end=40966, + serialized_start=41019, + serialized_end=41098, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME) @@ -494,8 +494,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=44595, - serialized_end=44656, + serialized_start=44727, + serialized_end=44788, ) _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE) @@ -519,8 +519,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=63220, - serialized_end=63258, + serialized_start=63352, + serialized_end=63390, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSREQUEST_ACTIONSTATUS) @@ -544,8 +544,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=64505, - serialized_end=64540, + serialized_start=64637, + serialized_end=64672, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT_ACTIONTYPE) @@ -569,8 +569,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=63220, - serialized_end=63258, + serialized_start=63352, + serialized_end=63390, ) _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSIGNERSREQUEST_ACTIONSTATUS) @@ -5040,6 +5040,51 @@ ) +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM = _descriptor.Descriptor( + name='ContractFeePotLastClaim', + full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='epoch', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.epoch', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_ms', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.time_ms', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='claimant_id', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.claimant_id', index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16504, + serialized_end=16586, +) + _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT = _descriptor.Descriptor( name='ContractFeePot', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', @@ -5056,9 +5101,9 @@ is_extension=False, extension_scope=None, serialized_options=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='last_claim_epoch', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.last_claim_epoch', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, + name='last_claim', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.last_claim', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -5073,14 +5118,9 @@ syntax='proto3', extension_ranges=[], oneofs=[ - _descriptor.OneofDescriptor( - name='_last_claim_epoch', full_name='org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot._last_claim_epoch', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=16504, - serialized_end=16593, + serialized_start=16589, + serialized_end=16725, ) _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS = _descriptor.Descriptor( @@ -5117,8 +5157,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16596, - serialized_end=16788, + serialized_start=16728, + serialized_end=16920, ) _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0 = _descriptor.Descriptor( @@ -5167,8 +5207,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=16791, - serialized_end=17032, + serialized_start=16923, + serialized_end=17164, ) _GETCONTRACTFEEPOTSRESPONSE = _descriptor.Descriptor( @@ -5189,7 +5229,7 @@ ], extensions=[ ], - nested_types=[_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT, _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS, _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0, ], + nested_types=[_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM, _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT, _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS, _GETCONTRACTFEEPOTSRESPONSE_GETCONTRACTFEEPOTSRESPONSEV0, ], enum_types=[ ], serialized_options=None, @@ -5204,7 +5244,7 @@ fields=[]), ], serialized_start=16376, - serialized_end=17043, + serialized_end=17175, ) @@ -5242,8 +5282,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17201, - serialized_end=17276, + serialized_start=17333, + serialized_end=17408, ) _GETCONTRACTGROUPSFORCONTRACTREQUEST = _descriptor.Descriptor( @@ -5278,8 +5318,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17046, - serialized_end=17287, + serialized_start=17178, + serialized_end=17419, ) @@ -5317,8 +5357,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17448, - serialized_end=17529, + serialized_start=17580, + serialized_end=17661, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_TOKENMEMBERSHIPS = _descriptor.Descriptor( @@ -5355,8 +5395,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17531, - serialized_end=17601, + serialized_start=17663, + serialized_end=17733, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_CONTRACTGROUPMEMBERSHIPS = _descriptor.Descriptor( @@ -5400,8 +5440,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17604, - serialized_end=17869, + serialized_start=17736, + serialized_end=18001, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE_GETCONTRACTGROUPSFORCONTRACTRESPONSEV0 = _descriptor.Descriptor( @@ -5450,8 +5490,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17872, - serialized_end=18164, + serialized_start=18004, + serialized_end=18296, ) _GETCONTRACTGROUPSFORCONTRACTRESPONSE = _descriptor.Descriptor( @@ -5486,8 +5526,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17290, - serialized_end=18175, + serialized_start=17422, + serialized_end=18307, ) @@ -5525,8 +5565,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18297, - serialized_end=18352, + serialized_start=18429, + serialized_end=18484, ) _GETDATACONTRACTSREQUEST = _descriptor.Descriptor( @@ -5561,8 +5601,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18178, - serialized_end=18363, + serialized_start=18310, + serialized_end=18495, ) @@ -5631,8 +5671,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18507, - serialized_end=18656, + serialized_start=18639, + serialized_end=18788, ) _GETDATACONTRACTSBYRANGEREQUEST = _descriptor.Descriptor( @@ -5667,8 +5707,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18366, - serialized_end=18667, + serialized_start=18498, + serialized_end=18799, ) @@ -5706,8 +5746,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18792, - serialized_end=18883, + serialized_start=18924, + serialized_end=19015, ) _GETDATACONTRACTSRESPONSE_DATACONTRACTS = _descriptor.Descriptor( @@ -5737,8 +5777,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18885, - serialized_end=19002, + serialized_start=19017, + serialized_end=19134, ) _GETDATACONTRACTSRESPONSE_GETDATACONTRACTSRESPONSEV0 = _descriptor.Descriptor( @@ -5787,8 +5827,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19005, - serialized_end=19250, + serialized_start=19137, + serialized_end=19382, ) _GETDATACONTRACTSRESPONSE = _descriptor.Descriptor( @@ -5823,8 +5863,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=18670, - serialized_end=19261, + serialized_start=18802, + serialized_end=19393, ) @@ -5883,8 +5923,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19402, - serialized_end=19578, + serialized_start=19534, + serialized_end=19710, ) _GETDATACONTRACTHISTORYREQUEST = _descriptor.Descriptor( @@ -5919,8 +5959,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19264, - serialized_end=19589, + serialized_start=19396, + serialized_end=19721, ) @@ -5958,8 +5998,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20029, - serialized_end=20088, + serialized_start=20161, + serialized_end=20220, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORY = _descriptor.Descriptor( @@ -5989,8 +6029,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20091, - serialized_end=20261, + serialized_start=20223, + serialized_end=20393, ) _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -6039,8 +6079,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19733, - serialized_end=20271, + serialized_start=19865, + serialized_end=20403, ) _GETDATACONTRACTHISTORYRESPONSE = _descriptor.Descriptor( @@ -6075,8 +6115,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=19592, - serialized_end=20282, + serialized_start=19724, + serialized_end=20414, ) @@ -6107,8 +6147,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=20754, - serialized_end=20848, + serialized_start=20886, + serialized_end=20980, ) _GETDOCUMENTSREQUEST_DOCUMENTFIELDVALUE = _descriptor.Descriptor( @@ -6192,8 +6232,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=20477, - serialized_end=20859, + serialized_start=20609, + serialized_end=20991, ) _GETDOCUMENTSREQUEST_TIMERANGESELECTION_GRID = _descriptor.Descriptor( @@ -6237,8 +6277,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=21091, - serialized_end=21153, + serialized_start=21223, + serialized_end=21285, ) _GETDOCUMENTSREQUEST_TIMERANGESELECTION = _descriptor.Descriptor( @@ -6288,8 +6328,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=20862, - serialized_end=21216, + serialized_start=20994, + serialized_end=21348, ) _GETDOCUMENTSREQUEST_WHERECLAUSE = _descriptor.Descriptor( @@ -6340,8 +6380,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=21219, - serialized_end=21496, + serialized_start=21351, + serialized_end=21628, ) _GETDOCUMENTSREQUEST_HAVINGAGGREGATE = _descriptor.Descriptor( @@ -6379,8 +6419,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=21499, - serialized_end=21663, + serialized_start=21631, + serialized_end=21795, ) _GETDOCUMENTSREQUEST_HAVINGCLAUSE = _descriptor.Descriptor( @@ -6430,8 +6470,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=21666, - serialized_end=22171, + serialized_start=21798, + serialized_end=22303, ) _GETDOCUMENTSREQUEST_ORDERCLAUSE = _descriptor.Descriptor( @@ -6480,8 +6520,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=22174, - serialized_end=22318, + serialized_start=22306, + serialized_end=22450, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV0 = _descriptor.Descriptor( @@ -6565,8 +6605,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=22321, - serialized_end=22508, + serialized_start=22453, + serialized_end=22640, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SELECT = _descriptor.Descriptor( @@ -6604,8 +6644,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23234, - serialized_end=23435, + serialized_start=23366, + serialized_end=23567, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_CHAINEDJOIN = _descriptor.Descriptor( @@ -6642,8 +6682,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23437, - serialized_end=23502, + serialized_start=23569, + serialized_end=23634, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY_BINDING = _descriptor.Descriptor( @@ -6687,8 +6727,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=23946, - serialized_end=24011, + serialized_start=24078, + serialized_end=24143, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1_SUBQUERY = _descriptor.Descriptor( @@ -6766,8 +6806,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=23505, - serialized_end=24055, + serialized_start=23637, + serialized_end=24187, ) _GETDOCUMENTSREQUEST_GETDOCUMENTSREQUESTV1 = _descriptor.Descriptor( @@ -6903,8 +6943,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=22511, - serialized_end=24085, + serialized_start=22643, + serialized_end=24217, ) _GETDOCUMENTSREQUEST = _descriptor.Descriptor( @@ -6947,8 +6987,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=20285, - serialized_end=24349, + serialized_start=20417, + serialized_end=24481, ) @@ -6979,8 +7019,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24792, - serialized_end=24822, + serialized_start=24924, + serialized_end=24954, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -7029,8 +7069,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24549, - serialized_end=24832, + serialized_start=24681, + serialized_end=24964, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_DOCUMENTS = _descriptor.Descriptor( @@ -7060,8 +7100,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=24792, - serialized_end=24822, + serialized_start=24924, + serialized_end=24954, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTENTRY = _descriptor.Descriptor( @@ -7110,8 +7150,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25106, - serialized_end=25182, + serialized_start=25238, + serialized_end=25314, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTENTRIES = _descriptor.Descriptor( @@ -7141,8 +7181,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25184, - serialized_end=25298, + serialized_start=25316, + serialized_end=25430, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COUNTRESULTS = _descriptor.Descriptor( @@ -7184,8 +7224,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25301, - serialized_end=25461, + serialized_start=25433, + serialized_end=25593, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMENTRY = _descriptor.Descriptor( @@ -7234,8 +7274,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25463, - serialized_end=25535, + serialized_start=25595, + serialized_end=25667, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMENTRIES = _descriptor.Descriptor( @@ -7265,8 +7305,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25537, - serialized_end=25647, + serialized_start=25669, + serialized_end=25779, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_SUMRESULTS = _descriptor.Descriptor( @@ -7308,8 +7348,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25650, - serialized_end=25804, + serialized_start=25782, + serialized_end=25936, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEENTRY = _descriptor.Descriptor( @@ -7365,8 +7405,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=25806, - serialized_end=25901, + serialized_start=25938, + serialized_end=26033, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEENTRIES = _descriptor.Descriptor( @@ -7396,8 +7436,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=25903, - serialized_end=26021, + serialized_start=26035, + serialized_end=26153, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGEAGGREGATE = _descriptor.Descriptor( @@ -7434,8 +7474,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=26023, - serialized_end=26077, + serialized_start=26155, + serialized_end=26209, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_AVERAGERESULTS = _descriptor.Descriptor( @@ -7477,8 +7517,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=26080, - serialized_end=26331, + serialized_start=26212, + serialized_end=26463, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RANKEDENTRY = _descriptor.Descriptor( @@ -7546,8 +7586,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=26333, - serialized_end=26455, + serialized_start=26465, + serialized_end=26587, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RANKEDENTRIES = _descriptor.Descriptor( @@ -7589,8 +7629,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=26458, - serialized_end=26612, + serialized_start=26590, + serialized_end=26744, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_RESULTDATA = _descriptor.Descriptor( @@ -7667,8 +7707,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=26615, - serialized_end=27374, + serialized_start=26747, + serialized_end=27506, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_CHAINEDDOCUMENTS = _descriptor.Descriptor( @@ -7705,8 +7745,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=27376, - serialized_end=27444, + serialized_start=27508, + serialized_end=27576, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COMPOSITEDOCUMENTS_SUBQUERYRESULT = _descriptor.Descriptor( @@ -7748,8 +7788,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=27621, - serialized_end=27853, + serialized_start=27753, + serialized_end=27985, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1_COMPOSITEDOCUMENTS = _descriptor.Descriptor( @@ -7786,8 +7826,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=27447, - serialized_end=27853, + serialized_start=27579, + serialized_end=27985, ) _GETDOCUMENTSRESPONSE_GETDOCUMENTSRESPONSEV1 = _descriptor.Descriptor( @@ -7836,8 +7876,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24835, - serialized_end=27863, + serialized_start=24967, + serialized_end=27995, ) _GETDOCUMENTSRESPONSE = _descriptor.Descriptor( @@ -7879,8 +7919,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=24352, - serialized_end=27874, + serialized_start=24484, + serialized_end=28006, ) @@ -7953,8 +7993,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=28003, - serialized_end=28238, + serialized_start=28135, + serialized_end=28370, ) _GETDOCUMENTHISTORYREQUEST = _descriptor.Descriptor( @@ -7989,8 +8029,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=27877, - serialized_end=28249, + serialized_start=28009, + serialized_end=28381, ) @@ -8028,8 +8068,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=28655, - serialized_end=28710, + serialized_start=28787, + serialized_end=28842, ) _GETDOCUMENTHISTORYRESPONSE_GETDOCUMENTHISTORYRESPONSEV0_DOCUMENTHISTORY = _descriptor.Descriptor( @@ -8059,8 +8099,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=28713, - serialized_end=28862, + serialized_start=28845, + serialized_end=28994, ) _GETDOCUMENTHISTORYRESPONSE_GETDOCUMENTHISTORYRESPONSEV0 = _descriptor.Descriptor( @@ -8109,8 +8149,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28381, - serialized_end=28872, + serialized_start=28513, + serialized_end=29004, ) _GETDOCUMENTHISTORYRESPONSE = _descriptor.Descriptor( @@ -8145,8 +8185,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28252, - serialized_end=28883, + serialized_start=28384, + serialized_end=29015, ) @@ -8184,8 +8224,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=29035, - serialized_end=29112, + serialized_start=29167, + serialized_end=29244, ) _GETIDENTITYBYPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -8220,8 +8260,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=28886, - serialized_end=29123, + serialized_start=29018, + serialized_end=29255, ) @@ -8271,8 +8311,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29279, - serialized_end=29461, + serialized_start=29411, + serialized_end=29593, ) _GETIDENTITYBYPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -8307,8 +8347,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29126, - serialized_end=29472, + serialized_start=29258, + serialized_end=29604, ) @@ -8358,8 +8398,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29653, - serialized_end=29781, + serialized_start=29785, + serialized_end=29913, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST = _descriptor.Descriptor( @@ -8394,8 +8434,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29475, - serialized_end=29792, + serialized_start=29607, + serialized_end=29924, ) @@ -8431,8 +8471,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30405, - serialized_end=30459, + serialized_start=30537, + serialized_end=30591, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE = _descriptor.Descriptor( @@ -8474,8 +8514,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30462, - serialized_end=30628, + serialized_start=30594, + serialized_end=30760, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor( @@ -8524,8 +8564,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29976, - serialized_end=30638, + serialized_start=30108, + serialized_end=30770, ) _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE = _descriptor.Descriptor( @@ -8560,8 +8600,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=29795, - serialized_end=30649, + serialized_start=29927, + serialized_end=30781, ) @@ -8599,8 +8639,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=30807, - serialized_end=30892, + serialized_start=30939, + serialized_end=31024, ) _WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor( @@ -8635,8 +8675,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30652, - serialized_end=30903, + serialized_start=30784, + serialized_end=31035, ) @@ -8686,8 +8726,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31065, - serialized_end=31304, + serialized_start=31197, + serialized_end=31436, ) _WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor( @@ -8722,8 +8762,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=30906, - serialized_end=31315, + serialized_start=31038, + serialized_end=31447, ) @@ -8761,8 +8801,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31443, - serialized_end=31503, + serialized_start=31575, + serialized_end=31635, ) _GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor( @@ -8797,8 +8837,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31318, - serialized_end=31514, + serialized_start=31450, + serialized_end=31646, ) @@ -8843,8 +8883,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31645, - serialized_end=31725, + serialized_start=31777, + serialized_end=31857, ) _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor( @@ -8888,8 +8928,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31727, - serialized_end=31825, + serialized_start=31859, + serialized_end=31957, ) _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor( @@ -8926,8 +8966,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=31828, - serialized_end=32046, + serialized_start=31960, + serialized_end=32178, ) _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor( @@ -8962,8 +9002,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=31517, - serialized_end=32057, + serialized_start=31649, + serialized_end=32189, ) @@ -8994,8 +9034,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32221, - serialized_end=32277, + serialized_start=32353, + serialized_end=32409, ) _GETPROTOCOLVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor( @@ -9030,8 +9070,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32060, - serialized_end=32288, + serialized_start=32192, + serialized_end=32420, ) @@ -9062,8 +9102,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32753, - serialized_end=32903, + serialized_start=32885, + serialized_end=33035, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor( @@ -9100,8 +9140,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=32905, - serialized_end=32963, + serialized_start=33037, + serialized_end=33095, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor( @@ -9150,8 +9190,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32456, - serialized_end=32973, + serialized_start=32588, + serialized_end=33105, ) _GETPROTOCOLVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor( @@ -9186,8 +9226,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32291, - serialized_end=32984, + serialized_start=32423, + serialized_end=33116, ) @@ -9232,8 +9272,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33164, - serialized_end=33267, + serialized_start=33296, + serialized_end=33399, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor( @@ -9268,8 +9308,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=32987, - serialized_end=33278, + serialized_start=33119, + serialized_end=33410, ) @@ -9300,8 +9340,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33781, - serialized_end=33956, + serialized_start=33913, + serialized_end=34088, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor( @@ -9338,8 +9378,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=33958, - serialized_end=34011, + serialized_start=34090, + serialized_end=34143, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor( @@ -9388,8 +9428,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=33462, - serialized_end=34021, + serialized_start=33594, + serialized_end=34153, ) _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor( @@ -9424,8 +9464,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=33281, - serialized_end=34032, + serialized_start=33413, + serialized_end=34164, ) @@ -9477,8 +9517,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34145, - serialized_end=34269, + serialized_start=34277, + serialized_end=34401, ) _GETEPOCHSINFOREQUEST = _descriptor.Descriptor( @@ -9513,8 +9553,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34035, - serialized_end=34280, + serialized_start=34167, + serialized_end=34412, ) @@ -9545,8 +9585,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34641, - serialized_end=34758, + serialized_start=34773, + serialized_end=34890, ) _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor( @@ -9611,8 +9651,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=34761, - serialized_end=34927, + serialized_start=34893, + serialized_end=35059, ) _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor( @@ -9661,8 +9701,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34397, - serialized_end=34937, + serialized_start=34529, + serialized_end=35069, ) _GETEPOCHSINFORESPONSE = _descriptor.Descriptor( @@ -9697,8 +9737,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34283, - serialized_end=34948, + serialized_start=34415, + serialized_end=35080, ) @@ -9757,8 +9797,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=35089, - serialized_end=35259, + serialized_start=35221, + serialized_end=35391, ) _GETFINALIZEDEPOCHINFOSREQUEST = _descriptor.Descriptor( @@ -9793,8 +9833,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=34951, - serialized_end=35270, + serialized_start=35083, + serialized_end=35402, ) @@ -9825,8 +9865,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=35696, - serialized_end=35860, + serialized_start=35828, + serialized_end=35992, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO = _descriptor.Descriptor( @@ -9940,8 +9980,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=35863, - serialized_end=36406, + serialized_start=35995, + serialized_end=36538, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER = _descriptor.Descriptor( @@ -9978,8 +10018,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=36408, - serialized_end=36465, + serialized_start=36540, + serialized_end=36597, ) _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -10028,8 +10068,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=35414, - serialized_end=36475, + serialized_start=35546, + serialized_end=36607, ) _GETFINALIZEDEPOCHINFOSRESPONSE = _descriptor.Descriptor( @@ -10064,8 +10104,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=35273, - serialized_end=36486, + serialized_start=35405, + serialized_end=36618, ) @@ -10103,8 +10143,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=36981, - serialized_end=37050, + serialized_start=37113, + serialized_end=37182, ) _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0 = _descriptor.Descriptor( @@ -10200,8 +10240,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36624, - serialized_end=37084, + serialized_start=36756, + serialized_end=37216, ) _GETCONTESTEDRESOURCESREQUEST = _descriptor.Descriptor( @@ -10236,8 +10276,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=36489, - serialized_end=37095, + serialized_start=36621, + serialized_end=37227, ) @@ -10268,8 +10308,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=37537, - serialized_end=37597, + serialized_start=37669, + serialized_end=37729, ) _GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0 = _descriptor.Descriptor( @@ -10318,8 +10358,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37236, - serialized_end=37607, + serialized_start=37368, + serialized_end=37739, ) _GETCONTESTEDRESOURCESRESPONSE = _descriptor.Descriptor( @@ -10354,8 +10394,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37098, - serialized_end=37618, + serialized_start=37230, + serialized_end=37750, ) @@ -10393,8 +10433,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38131, - serialized_end=38204, + serialized_start=38263, + serialized_end=38336, ) _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO = _descriptor.Descriptor( @@ -10431,8 +10471,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38206, - serialized_end=38273, + serialized_start=38338, + serialized_end=38405, ) _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0 = _descriptor.Descriptor( @@ -10517,8 +10557,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37756, - serialized_end=38332, + serialized_start=37888, + serialized_end=38464, ) _GETVOTEPOLLSBYENDDATEREQUEST = _descriptor.Descriptor( @@ -10553,8 +10593,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=37621, - serialized_end=38343, + serialized_start=37753, + serialized_end=38475, ) @@ -10592,8 +10632,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38792, - serialized_end=38878, + serialized_start=38924, + serialized_end=39010, ) _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS = _descriptor.Descriptor( @@ -10630,8 +10670,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=38881, - serialized_end=39096, + serialized_start=39013, + serialized_end=39228, ) _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0 = _descriptor.Descriptor( @@ -10680,8 +10720,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=38484, - serialized_end=39106, + serialized_start=38616, + serialized_end=39238, ) _GETVOTEPOLLSBYENDDATERESPONSE = _descriptor.Descriptor( @@ -10716,8 +10756,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=38346, - serialized_end=39117, + serialized_start=38478, + serialized_end=39249, ) @@ -10755,8 +10795,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=39806, - serialized_end=39890, + serialized_start=39938, + serialized_end=40022, ) _GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0 = _descriptor.Descriptor( @@ -10853,8 +10893,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=39279, - serialized_end=40004, + serialized_start=39411, + serialized_end=40136, ) _GETCONTESTEDRESOURCEVOTESTATEREQUEST = _descriptor.Descriptor( @@ -10889,8 +10929,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=39120, - serialized_end=40015, + serialized_start=39252, + serialized_end=40147, ) @@ -10962,8 +11002,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40515, - serialized_end=40989, + serialized_start=40647, + serialized_end=41121, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS = _descriptor.Descriptor( @@ -11029,8 +11069,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40992, - serialized_end=41444, + serialized_start=41124, + serialized_end=41576, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER = _descriptor.Descriptor( @@ -11084,8 +11124,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=41446, - serialized_end=41553, + serialized_start=41578, + serialized_end=41685, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0 = _descriptor.Descriptor( @@ -11134,8 +11174,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40180, - serialized_end=41563, + serialized_start=40312, + serialized_end=41695, ) _GETCONTESTEDRESOURCEVOTESTATERESPONSE = _descriptor.Descriptor( @@ -11170,8 +11210,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=40018, - serialized_end=41574, + serialized_start=40150, + serialized_end=41706, ) @@ -11209,8 +11249,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=39806, - serialized_end=39890, + serialized_start=39938, + serialized_end=40022, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0 = _descriptor.Descriptor( @@ -11306,8 +11346,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=41761, - serialized_end=42291, + serialized_start=41893, + serialized_end=42423, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST = _descriptor.Descriptor( @@ -11342,8 +11382,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=41577, - serialized_end=42302, + serialized_start=41709, + serialized_end=42434, ) @@ -11381,8 +11421,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=42842, - serialized_end=42909, + serialized_start=42974, + serialized_end=43041, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0 = _descriptor.Descriptor( @@ -11431,8 +11471,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42492, - serialized_end=42919, + serialized_start=42624, + serialized_end=43051, ) _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE = _descriptor.Descriptor( @@ -11467,8 +11507,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42305, - serialized_end=42930, + serialized_start=42437, + serialized_end=43062, ) @@ -11506,8 +11546,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=43479, - serialized_end=43576, + serialized_start=43611, + serialized_end=43708, ) _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0 = _descriptor.Descriptor( @@ -11577,8 +11617,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=43104, - serialized_end=43607, + serialized_start=43236, + serialized_end=43739, ) _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST = _descriptor.Descriptor( @@ -11613,8 +11653,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=42933, - serialized_end=43618, + serialized_start=43065, + serialized_end=43750, ) @@ -11652,8 +11692,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=44121, - serialized_end=44368, + serialized_start=44253, + serialized_end=44500, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE = _descriptor.Descriptor( @@ -11696,8 +11736,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44371, - serialized_end=44672, + serialized_start=44503, + serialized_end=44804, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE = _descriptor.Descriptor( @@ -11748,8 +11788,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=44675, - serialized_end=44952, + serialized_start=44807, + serialized_end=45084, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0 = _descriptor.Descriptor( @@ -11798,8 +11838,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=43795, - serialized_end=44962, + serialized_start=43927, + serialized_end=45094, ) _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE = _descriptor.Descriptor( @@ -11834,8 +11874,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=43621, - serialized_end=44973, + serialized_start=43753, + serialized_end=45105, ) @@ -11873,8 +11913,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=45137, - serialized_end=45205, + serialized_start=45269, + serialized_end=45337, ) _GETPREFUNDEDSPECIALIZEDBALANCEREQUEST = _descriptor.Descriptor( @@ -11909,8 +11949,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=44976, - serialized_end=45216, + serialized_start=45108, + serialized_end=45348, ) @@ -11960,8 +12000,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45384, - serialized_end=45573, + serialized_start=45516, + serialized_end=45705, ) _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE = _descriptor.Descriptor( @@ -11996,8 +12036,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45219, - serialized_end=45584, + serialized_start=45351, + serialized_end=45716, ) @@ -12028,8 +12068,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=45733, - serialized_end=45784, + serialized_start=45865, + serialized_end=45916, ) _GETTOTALCREDITSINPLATFORMREQUEST = _descriptor.Descriptor( @@ -12064,8 +12104,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45587, - serialized_end=45795, + serialized_start=45719, + serialized_end=45927, ) @@ -12115,8 +12155,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45948, - serialized_end=46132, + serialized_start=46080, + serialized_end=46264, ) _GETTOTALCREDITSINPLATFORMRESPONSE = _descriptor.Descriptor( @@ -12151,8 +12191,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=45798, - serialized_end=46143, + serialized_start=45930, + serialized_end=46275, ) @@ -12197,8 +12237,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46262, - serialized_end=46331, + serialized_start=46394, + serialized_end=46463, ) _GETPATHELEMENTSREQUEST = _descriptor.Descriptor( @@ -12233,8 +12273,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46146, - serialized_end=46342, + serialized_start=46278, + serialized_end=46474, ) @@ -12265,8 +12305,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46715, - serialized_end=46743, + serialized_start=46847, + serialized_end=46875, ) _GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0 = _descriptor.Descriptor( @@ -12315,8 +12355,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46465, - serialized_end=46753, + serialized_start=46597, + serialized_end=46885, ) _GETPATHELEMENTSRESPONSE = _descriptor.Descriptor( @@ -12351,8 +12391,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46345, - serialized_end=46764, + serialized_start=46477, + serialized_end=46896, ) @@ -12376,8 +12416,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=46865, - serialized_end=46885, + serialized_start=46997, + serialized_end=47017, ) _GETSTATUSREQUEST = _descriptor.Descriptor( @@ -12412,8 +12452,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46767, - serialized_end=46896, + serialized_start=46899, + serialized_end=47028, ) @@ -12468,8 +12508,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=47773, - serialized_end=47867, + serialized_start=47905, + serialized_end=47999, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH = _descriptor.Descriptor( @@ -12506,8 +12546,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48100, - serialized_end=48140, + serialized_start=48232, + serialized_end=48272, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE = _descriptor.Descriptor( @@ -12551,8 +12591,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48142, - serialized_end=48202, + serialized_start=48274, + serialized_end=48334, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL = _descriptor.Descriptor( @@ -12589,8 +12629,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47870, - serialized_end=48202, + serialized_start=48002, + serialized_end=48334, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION = _descriptor.Descriptor( @@ -12627,8 +12667,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47560, - serialized_end=48202, + serialized_start=47692, + serialized_end=48334, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME = _descriptor.Descriptor( @@ -12694,8 +12734,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=48204, - serialized_end=48331, + serialized_start=48336, + serialized_end=48463, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE = _descriptor.Descriptor( @@ -12737,8 +12777,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=48333, - serialized_end=48393, + serialized_start=48465, + serialized_end=48525, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN = _descriptor.Descriptor( @@ -12829,8 +12869,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=48396, - serialized_end=48703, + serialized_start=48528, + serialized_end=48835, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK = _descriptor.Descriptor( @@ -12874,8 +12914,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48705, - serialized_end=48772, + serialized_start=48837, + serialized_end=48904, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC = _descriptor.Descriptor( @@ -12954,8 +12994,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48775, - serialized_end=49036, + serialized_start=48907, + serialized_end=49168, ) _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 = _descriptor.Descriptor( @@ -13020,8 +13060,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=47001, - serialized_end=49036, + serialized_start=47133, + serialized_end=49168, ) _GETSTATUSRESPONSE = _descriptor.Descriptor( @@ -13056,8 +13096,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=46899, - serialized_end=49047, + serialized_start=47031, + serialized_end=49179, ) @@ -13081,8 +13121,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49184, - serialized_end=49216, + serialized_start=49316, + serialized_end=49348, ) _GETCURRENTQUORUMSINFOREQUEST = _descriptor.Descriptor( @@ -13117,8 +13157,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49050, - serialized_end=49227, + serialized_start=49182, + serialized_end=49359, ) @@ -13163,8 +13203,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49367, - serialized_end=49437, + serialized_start=49499, + serialized_end=49569, ) _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0 = _descriptor.Descriptor( @@ -13215,8 +13255,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49440, - serialized_end=49615, + serialized_start=49572, + serialized_end=49747, ) _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0 = _descriptor.Descriptor( @@ -13274,8 +13314,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=49618, - serialized_end=49892, + serialized_start=49750, + serialized_end=50024, ) _GETCURRENTQUORUMSINFORESPONSE = _descriptor.Descriptor( @@ -13310,8 +13350,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49230, - serialized_end=49903, + serialized_start=49362, + serialized_end=50035, ) @@ -13356,8 +13396,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=50049, - serialized_end=50139, + serialized_start=50181, + serialized_end=50271, ) _GETIDENTITYTOKENBALANCESREQUEST = _descriptor.Descriptor( @@ -13392,8 +13432,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=49906, - serialized_end=50150, + serialized_start=50038, + serialized_end=50282, ) @@ -13436,8 +13476,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50589, - serialized_end=50660, + serialized_start=50721, + serialized_end=50792, ) _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0_TOKENBALANCES = _descriptor.Descriptor( @@ -13467,8 +13507,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=50663, - serialized_end=50817, + serialized_start=50795, + serialized_end=50949, ) _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor( @@ -13517,8 +13557,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50300, - serialized_end=50827, + serialized_start=50432, + serialized_end=50959, ) _GETIDENTITYTOKENBALANCESRESPONSE = _descriptor.Descriptor( @@ -13553,8 +13593,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50153, - serialized_end=50838, + serialized_start=50285, + serialized_end=50970, ) @@ -13599,8 +13639,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=50990, - serialized_end=51082, + serialized_start=51122, + serialized_end=51214, ) _GETIDENTITIESTOKENBALANCESREQUEST = _descriptor.Descriptor( @@ -13635,8 +13675,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=50841, - serialized_end=51093, + serialized_start=50973, + serialized_end=51225, ) @@ -13679,8 +13719,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51561, - serialized_end=51643, + serialized_start=51693, + serialized_end=51775, ) _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0_IDENTITYTOKENBALANCES = _descriptor.Descriptor( @@ -13710,8 +13750,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51646, - serialized_end=51829, + serialized_start=51778, + serialized_end=51961, ) _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor( @@ -13760,8 +13800,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51249, - serialized_end=51839, + serialized_start=51381, + serialized_end=51971, ) _GETIDENTITIESTOKENBALANCESRESPONSE = _descriptor.Descriptor( @@ -13796,8 +13836,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51096, - serialized_end=51850, + serialized_start=51228, + serialized_end=51982, ) @@ -13842,8 +13882,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=51987, - serialized_end=52074, + serialized_start=52119, + serialized_end=52206, ) _GETIDENTITYTOKENINFOSREQUEST = _descriptor.Descriptor( @@ -13878,8 +13918,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=51853, - serialized_end=52085, + serialized_start=51985, + serialized_end=52217, ) @@ -13910,8 +13950,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=52499, - serialized_end=52539, + serialized_start=52631, + serialized_end=52671, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor( @@ -13953,8 +13993,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52542, - serialized_end=52718, + serialized_start=52674, + serialized_end=52850, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOS = _descriptor.Descriptor( @@ -13984,8 +14024,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=52721, - serialized_end=52859, + serialized_start=52853, + serialized_end=52991, ) _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -14034,8 +14074,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52226, - serialized_end=52869, + serialized_start=52358, + serialized_end=53001, ) _GETIDENTITYTOKENINFOSRESPONSE = _descriptor.Descriptor( @@ -14070,8 +14110,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52088, - serialized_end=52880, + serialized_start=52220, + serialized_end=53012, ) @@ -14116,8 +14156,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=53023, - serialized_end=53112, + serialized_start=53155, + serialized_end=53244, ) _GETIDENTITIESTOKENINFOSREQUEST = _descriptor.Descriptor( @@ -14152,8 +14192,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=52883, - serialized_end=53123, + serialized_start=53015, + serialized_end=53255, ) @@ -14184,8 +14224,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=52499, - serialized_end=52539, + serialized_start=52631, + serialized_end=52671, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor( @@ -14227,8 +14267,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53610, - serialized_end=53793, + serialized_start=53742, + serialized_end=53925, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_IDENTITYTOKENINFOS = _descriptor.Descriptor( @@ -14258,8 +14298,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=53796, - serialized_end=53947, + serialized_start=53928, + serialized_end=54079, ) _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -14308,8 +14348,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53270, - serialized_end=53957, + serialized_start=53402, + serialized_end=54089, ) _GETIDENTITIESTOKENINFOSRESPONSE = _descriptor.Descriptor( @@ -14344,8 +14384,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53126, - serialized_end=53968, + serialized_start=53258, + serialized_end=54100, ) @@ -14383,8 +14423,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54090, - serialized_end=54151, + serialized_start=54222, + serialized_end=54283, ) _GETTOKENSTATUSESREQUEST = _descriptor.Descriptor( @@ -14419,8 +14459,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=53971, - serialized_end=54162, + serialized_start=54103, + serialized_end=54294, ) @@ -14463,8 +14503,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54552, - serialized_end=54620, + serialized_start=54684, + serialized_end=54752, ) _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0_TOKENSTATUSES = _descriptor.Descriptor( @@ -14494,8 +14534,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54623, - serialized_end=54759, + serialized_start=54755, + serialized_end=54891, ) _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0 = _descriptor.Descriptor( @@ -14544,8 +14584,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54288, - serialized_end=54769, + serialized_start=54420, + serialized_end=54901, ) _GETTOKENSTATUSESRESPONSE = _descriptor.Descriptor( @@ -14580,8 +14620,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54165, - serialized_end=54780, + serialized_start=54297, + serialized_end=54912, ) @@ -14619,8 +14659,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=54938, - serialized_end=55011, + serialized_start=55070, + serialized_end=55143, ) _GETTOKENDIRECTPURCHASEPRICESREQUEST = _descriptor.Descriptor( @@ -14655,8 +14695,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=54783, - serialized_end=55022, + serialized_start=54915, + serialized_end=55154, ) @@ -14694,8 +14734,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55512, - serialized_end=55563, + serialized_start=55644, + serialized_end=55695, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICINGSCHEDULE = _descriptor.Descriptor( @@ -14725,8 +14765,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55566, - serialized_end=55733, + serialized_start=55698, + serialized_end=55865, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICEENTRY = _descriptor.Descriptor( @@ -14775,8 +14815,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55736, - serialized_end=55964, + serialized_start=55868, + serialized_end=56096, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICES = _descriptor.Descriptor( @@ -14806,8 +14846,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55967, - serialized_end=56167, + serialized_start=56099, + serialized_end=56299, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0 = _descriptor.Descriptor( @@ -14856,8 +14896,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55184, - serialized_end=56177, + serialized_start=55316, + serialized_end=56309, ) _GETTOKENDIRECTPURCHASEPRICESRESPONSE = _descriptor.Descriptor( @@ -14892,8 +14932,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=55025, - serialized_end=56188, + serialized_start=55157, + serialized_end=56320, ) @@ -14931,8 +14971,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=56322, - serialized_end=56386, + serialized_start=56454, + serialized_end=56518, ) _GETTOKENCONTRACTINFOREQUEST = _descriptor.Descriptor( @@ -14967,8 +15007,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56191, - serialized_end=56397, + serialized_start=56323, + serialized_end=56529, ) @@ -15006,8 +15046,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=56809, - serialized_end=56886, + serialized_start=56941, + serialized_end=57018, ) _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0 = _descriptor.Descriptor( @@ -15056,8 +15096,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56535, - serialized_end=56896, + serialized_start=56667, + serialized_end=57028, ) _GETTOKENCONTRACTINFORESPONSE = _descriptor.Descriptor( @@ -15092,8 +15132,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56400, - serialized_end=56907, + serialized_start=56532, + serialized_end=57039, ) @@ -15148,8 +15188,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57340, - serialized_end=57494, + serialized_start=57472, + serialized_end=57626, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0 = _descriptor.Descriptor( @@ -15210,8 +15250,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57084, - serialized_end=57522, + serialized_start=57216, + serialized_end=57654, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST = _descriptor.Descriptor( @@ -15246,8 +15286,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=56910, - serialized_end=57533, + serialized_start=57042, + serialized_end=57665, ) @@ -15285,8 +15325,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=58044, - serialized_end=58106, + serialized_start=58176, + serialized_end=58238, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENTIMEDDISTRIBUTIONENTRY = _descriptor.Descriptor( @@ -15323,8 +15363,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=58109, - serialized_end=58321, + serialized_start=58241, + serialized_end=58453, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS = _descriptor.Descriptor( @@ -15354,8 +15394,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=58324, - serialized_end=58519, + serialized_start=58456, + serialized_end=58651, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0 = _descriptor.Descriptor( @@ -15404,8 +15444,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57714, - serialized_end=58529, + serialized_start=57846, + serialized_end=58661, ) _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE = _descriptor.Descriptor( @@ -15440,8 +15480,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=57536, - serialized_end=58540, + serialized_start=57668, + serialized_end=58672, ) @@ -15479,8 +15519,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=58729, - serialized_end=58802, + serialized_start=58861, + serialized_end=58934, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0 = _descriptor.Descriptor( @@ -15536,8 +15576,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58805, - serialized_end=59046, + serialized_start=58937, + serialized_end=59178, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST = _descriptor.Descriptor( @@ -15572,8 +15612,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=58543, - serialized_end=59057, + serialized_start=58675, + serialized_end=59189, ) @@ -15630,8 +15670,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59578, - serialized_end=59698, + serialized_start=59710, + serialized_end=59830, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0 = _descriptor.Descriptor( @@ -15680,8 +15720,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59250, - serialized_end=59708, + serialized_start=59382, + serialized_end=59840, ) _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE = _descriptor.Descriptor( @@ -15716,8 +15756,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59060, - serialized_end=59719, + serialized_start=59192, + serialized_end=59851, ) @@ -15755,8 +15795,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=59850, - serialized_end=59913, + serialized_start=59982, + serialized_end=60045, ) _GETTOKENTOTALSUPPLYREQUEST = _descriptor.Descriptor( @@ -15791,8 +15831,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59722, - serialized_end=59924, + serialized_start=59854, + serialized_end=60056, ) @@ -15837,8 +15877,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60345, - serialized_end=60465, + serialized_start=60477, + serialized_end=60597, ) _GETTOKENTOTALSUPPLYRESPONSE_GETTOKENTOTALSUPPLYRESPONSEV0 = _descriptor.Descriptor( @@ -15887,8 +15927,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60059, - serialized_end=60475, + serialized_start=60191, + serialized_end=60607, ) _GETTOKENTOTALSUPPLYRESPONSE = _descriptor.Descriptor( @@ -15923,8 +15963,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=59927, - serialized_end=60486, + serialized_start=60059, + serialized_end=60618, ) @@ -15969,8 +16009,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=60596, - serialized_end=60688, + serialized_start=60728, + serialized_end=60820, ) _GETGROUPINFOREQUEST = _descriptor.Descriptor( @@ -16005,8 +16045,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60489, - serialized_end=60699, + serialized_start=60621, + serialized_end=60831, ) @@ -16044,8 +16084,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61057, - serialized_end=61109, + serialized_start=61189, + serialized_end=61241, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFOENTRY = _descriptor.Descriptor( @@ -16082,8 +16122,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61112, - serialized_end=61264, + serialized_start=61244, + serialized_end=61396, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFO = _descriptor.Descriptor( @@ -16118,8 +16158,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61267, - serialized_end=61405, + serialized_start=61399, + serialized_end=61537, ) _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0 = _descriptor.Descriptor( @@ -16168,8 +16208,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60813, - serialized_end=61415, + serialized_start=60945, + serialized_end=61547, ) _GETGROUPINFORESPONSE = _descriptor.Descriptor( @@ -16204,8 +16244,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=60702, - serialized_end=61426, + serialized_start=60834, + serialized_end=61558, ) @@ -16243,8 +16283,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61539, - serialized_end=61656, + serialized_start=61671, + serialized_end=61788, ) _GETGROUPINFOSREQUEST_GETGROUPINFOSREQUESTV0 = _descriptor.Descriptor( @@ -16305,8 +16345,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61659, - serialized_end=61911, + serialized_start=61791, + serialized_end=62043, ) _GETGROUPINFOSREQUEST = _descriptor.Descriptor( @@ -16341,8 +16381,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61429, - serialized_end=61922, + serialized_start=61561, + serialized_end=62054, ) @@ -16380,8 +16420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=61057, - serialized_end=61109, + serialized_start=61189, + serialized_end=61241, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPPOSITIONINFOENTRY = _descriptor.Descriptor( @@ -16425,8 +16465,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=62343, - serialized_end=62538, + serialized_start=62475, + serialized_end=62670, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPINFOS = _descriptor.Descriptor( @@ -16456,8 +16496,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=62541, - serialized_end=62671, + serialized_start=62673, + serialized_end=62803, ) _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0 = _descriptor.Descriptor( @@ -16506,8 +16546,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62039, - serialized_end=62681, + serialized_start=62171, + serialized_end=62813, ) _GETGROUPINFOSRESPONSE = _descriptor.Descriptor( @@ -16542,8 +16582,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=61925, - serialized_end=62692, + serialized_start=62057, + serialized_end=62824, ) @@ -16581,8 +16621,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=62811, - serialized_end=62887, + serialized_start=62943, + serialized_end=63019, ) _GETGROUPACTIONSREQUEST_GETGROUPACTIONSREQUESTV0 = _descriptor.Descriptor( @@ -16657,8 +16697,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62890, - serialized_end=63218, + serialized_start=63022, + serialized_end=63350, ) _GETGROUPACTIONSREQUEST = _descriptor.Descriptor( @@ -16694,8 +16734,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=62695, - serialized_end=63269, + serialized_start=62827, + serialized_end=63401, ) @@ -16745,8 +16785,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63651, - serialized_end=63742, + serialized_start=63783, + serialized_end=63874, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_BURNEVENT = _descriptor.Descriptor( @@ -16795,8 +16835,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63744, - serialized_end=63835, + serialized_start=63876, + serialized_end=63967, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_FREEZEEVENT = _descriptor.Descriptor( @@ -16838,8 +16878,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63837, - serialized_end=63911, + serialized_start=63969, + serialized_end=64043, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UNFREEZEEVENT = _descriptor.Descriptor( @@ -16881,8 +16921,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63913, - serialized_end=63989, + serialized_start=64045, + serialized_end=64121, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DESTROYFROZENFUNDSEVENT = _descriptor.Descriptor( @@ -16931,8 +16971,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63991, - serialized_end=64093, + serialized_start=64123, + serialized_end=64225, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_SHAREDENCRYPTEDNOTE = _descriptor.Descriptor( @@ -16976,8 +17016,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64095, - serialized_end=64195, + serialized_start=64227, + serialized_end=64327, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_PERSONALENCRYPTEDNOTE = _descriptor.Descriptor( @@ -17021,8 +17061,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64197, - serialized_end=64320, + serialized_start=64329, + serialized_end=64452, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT = _descriptor.Descriptor( @@ -17065,8 +17105,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64323, - serialized_end=64556, + serialized_start=64455, + serialized_end=64688, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENCONFIGUPDATEEVENT = _descriptor.Descriptor( @@ -17108,8 +17148,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64558, - serialized_end=64658, + serialized_start=64690, + serialized_end=64790, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICEFORQUANTITY = _descriptor.Descriptor( @@ -17146,8 +17186,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=55512, - serialized_end=55563, + serialized_start=55644, + serialized_end=55695, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICINGSCHEDULE = _descriptor.Descriptor( @@ -17177,8 +17217,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=64950, - serialized_end=65122, + serialized_start=65082, + serialized_end=65254, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT = _descriptor.Descriptor( @@ -17232,8 +17272,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=64661, - serialized_end=65147, + serialized_start=64793, + serialized_end=65279, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONEVENT = _descriptor.Descriptor( @@ -17282,8 +17322,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=65150, - serialized_end=65530, + serialized_start=65282, + serialized_end=65662, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTEVENT = _descriptor.Descriptor( @@ -17318,8 +17358,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=65533, - serialized_end=65672, + serialized_start=65665, + serialized_end=65804, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTCREATEEVENT = _descriptor.Descriptor( @@ -17349,8 +17389,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=65674, - serialized_end=65721, + serialized_start=65806, + serialized_end=65853, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTUPDATEEVENT = _descriptor.Descriptor( @@ -17380,8 +17420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=65723, - serialized_end=65770, + serialized_start=65855, + serialized_end=65902, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTEVENT = _descriptor.Descriptor( @@ -17416,8 +17456,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=65773, - serialized_end=65912, + serialized_start=65905, + serialized_end=66044, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENEVENT = _descriptor.Descriptor( @@ -17501,8 +17541,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=65915, - serialized_end=66892, + serialized_start=66047, + serialized_end=67024, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONENTRY = _descriptor.Descriptor( @@ -17539,8 +17579,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=66895, - serialized_end=67042, + serialized_start=67027, + serialized_end=67174, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONS = _descriptor.Descriptor( @@ -17570,8 +17610,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67045, - serialized_end=67177, + serialized_start=67177, + serialized_end=67309, ) _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0 = _descriptor.Descriptor( @@ -17620,8 +17660,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63392, - serialized_end=67187, + serialized_start=63524, + serialized_end=67319, ) _GETGROUPACTIONSRESPONSE = _descriptor.Descriptor( @@ -17656,8 +17696,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=63272, - serialized_end=67198, + serialized_start=63404, + serialized_end=67330, ) @@ -17716,8 +17756,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=67336, - serialized_end=67542, + serialized_start=67468, + serialized_end=67674, ) _GETGROUPACTIONSIGNERSREQUEST = _descriptor.Descriptor( @@ -17753,8 +17793,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67201, - serialized_end=67593, + serialized_start=67333, + serialized_end=67725, ) @@ -17792,8 +17832,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68025, - serialized_end=68078, + serialized_start=68157, + serialized_end=68210, ) _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0_GROUPACTIONSIGNERS = _descriptor.Descriptor( @@ -17823,8 +17863,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68081, - serialized_end=68226, + serialized_start=68213, + serialized_end=68358, ) _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0 = _descriptor.Descriptor( @@ -17873,8 +17913,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67734, - serialized_end=68236, + serialized_start=67866, + serialized_end=68368, ) _GETGROUPACTIONSIGNERSRESPONSE = _descriptor.Descriptor( @@ -17909,8 +17949,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=67596, - serialized_end=68247, + serialized_start=67728, + serialized_end=68379, ) @@ -17948,8 +17988,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68363, - serialized_end=68420, + serialized_start=68495, + serialized_end=68552, ) _GETADDRESSINFOREQUEST = _descriptor.Descriptor( @@ -17984,8 +18024,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68250, - serialized_end=68431, + serialized_start=68382, + serialized_end=68563, ) @@ -18028,8 +18068,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68434, - serialized_end=68567, + serialized_start=68566, + serialized_end=68699, ) @@ -18067,8 +18107,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68569, - serialized_end=68618, + serialized_start=68701, + serialized_end=68750, ) @@ -18099,8 +18139,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68620, - serialized_end=68715, + serialized_start=68752, + serialized_end=68847, ) @@ -18150,8 +18190,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=68717, - serialized_end=68826, + serialized_start=68849, + serialized_end=68958, ) @@ -18189,8 +18229,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68828, - serialized_end=68948, + serialized_start=68960, + serialized_end=69080, ) @@ -18221,8 +18261,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=68950, - serialized_end=69057, + serialized_start=69082, + serialized_end=69189, ) @@ -18272,8 +18312,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69177, - serialized_end=69402, + serialized_start=69309, + serialized_end=69534, ) _GETADDRESSINFORESPONSE = _descriptor.Descriptor( @@ -18308,8 +18348,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69060, - serialized_end=69413, + serialized_start=69192, + serialized_end=69545, ) @@ -18347,8 +18387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=69538, - serialized_end=69600, + serialized_start=69670, + serialized_end=69732, ) _GETADDRESSESINFOSREQUEST = _descriptor.Descriptor( @@ -18383,8 +18423,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69416, - serialized_end=69611, + serialized_start=69548, + serialized_end=69743, ) @@ -18434,8 +18474,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69740, - serialized_end=69972, + serialized_start=69872, + serialized_end=70104, ) _GETADDRESSESINFOSRESPONSE = _descriptor.Descriptor( @@ -18470,8 +18510,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69614, - serialized_end=69983, + serialized_start=69746, + serialized_end=70115, ) @@ -18495,8 +18535,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70123, - serialized_end=70156, + serialized_start=70255, + serialized_end=70288, ) _GETADDRESSESTRUNKSTATEREQUEST = _descriptor.Descriptor( @@ -18531,8 +18571,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=69986, - serialized_end=70167, + serialized_start=70118, + serialized_end=70299, ) @@ -18570,8 +18610,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70311, - serialized_end=70457, + serialized_start=70443, + serialized_end=70589, ) _GETADDRESSESTRUNKSTATERESPONSE = _descriptor.Descriptor( @@ -18606,8 +18646,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70170, - serialized_end=70468, + serialized_start=70302, + serialized_end=70600, ) @@ -18652,8 +18692,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70611, - serialized_end=70700, + serialized_start=70743, + serialized_end=70832, ) _GETADDRESSESBRANCHSTATEREQUEST = _descriptor.Descriptor( @@ -18688,8 +18728,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70471, - serialized_end=70711, + serialized_start=70603, + serialized_end=70843, ) @@ -18720,8 +18760,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=70857, - serialized_end=70912, + serialized_start=70989, + serialized_end=71044, ) _GETADDRESSESBRANCHSTATERESPONSE = _descriptor.Descriptor( @@ -18756,8 +18796,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70714, - serialized_end=70923, + serialized_start=70846, + serialized_end=71055, ) @@ -18802,8 +18842,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71087, - serialized_end=71201, + serialized_start=71219, + serialized_end=71333, ) _GETRECENTADDRESSBALANCECHANGESREQUEST = _descriptor.Descriptor( @@ -18838,8 +18878,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=70926, - serialized_end=71212, + serialized_start=71058, + serialized_end=71344, ) @@ -18889,8 +18929,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71380, - serialized_end=71644, + serialized_start=71512, + serialized_end=71776, ) _GETRECENTADDRESSBALANCECHANGESRESPONSE = _descriptor.Descriptor( @@ -18925,8 +18965,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71215, - serialized_end=71655, + serialized_start=71347, + serialized_end=71787, ) @@ -18964,8 +19004,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71657, - serialized_end=71728, + serialized_start=71789, + serialized_end=71860, ) @@ -19015,8 +19055,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=71731, - serialized_end=71907, + serialized_start=71863, + serialized_end=72039, ) @@ -19047,8 +19087,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71909, - serialized_end=72001, + serialized_start=72041, + serialized_end=72133, ) @@ -19093,8 +19133,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=72004, - serialized_end=72178, + serialized_start=72136, + serialized_end=72310, ) @@ -19125,8 +19165,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=72181, - serialized_end=72316, + serialized_start=72313, + serialized_end=72448, ) @@ -19164,8 +19204,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=72508, - serialized_end=72605, + serialized_start=72640, + serialized_end=72737, ) _GETRECENTCOMPACTEDADDRESSBALANCECHANGESREQUEST = _descriptor.Descriptor( @@ -19200,8 +19240,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72319, - serialized_end=72616, + serialized_start=72451, + serialized_end=72748, ) @@ -19251,8 +19291,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72812, - serialized_end=73104, + serialized_start=72944, + serialized_end=73236, ) _GETRECENTCOMPACTEDADDRESSBALANCECHANGESRESPONSE = _descriptor.Descriptor( @@ -19287,8 +19327,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=72619, - serialized_end=73115, + serialized_start=72751, + serialized_end=73247, ) @@ -19333,8 +19373,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73264, - serialized_end=73351, + serialized_start=73396, + serialized_end=73483, ) _GETSHIELDEDENCRYPTEDNOTESREQUEST = _descriptor.Descriptor( @@ -19369,8 +19409,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73118, - serialized_end=73362, + serialized_start=73250, + serialized_end=73494, ) @@ -19422,8 +19462,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73809, - serialized_end=73896, + serialized_start=73941, + serialized_end=74028, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE_GETSHIELDEDENCRYPTEDNOTESRESPONSEV0_ENCRYPTEDNOTES = _descriptor.Descriptor( @@ -19453,8 +19493,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=73899, - serialized_end=74044, + serialized_start=74031, + serialized_end=74176, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE_GETSHIELDEDENCRYPTEDNOTESRESPONSEV0 = _descriptor.Descriptor( @@ -19503,8 +19543,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73515, - serialized_end=74054, + serialized_start=73647, + serialized_end=74186, ) _GETSHIELDEDENCRYPTEDNOTESRESPONSE = _descriptor.Descriptor( @@ -19539,8 +19579,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=73365, - serialized_end=74065, + serialized_start=73497, + serialized_end=74197, ) @@ -19571,8 +19611,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=74193, - serialized_end=74237, + serialized_start=74325, + serialized_end=74369, ) _GETSHIELDEDANCHORSREQUEST = _descriptor.Descriptor( @@ -19607,8 +19647,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74068, - serialized_end=74248, + serialized_start=74200, + serialized_end=74380, ) @@ -19639,8 +19679,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=74637, - serialized_end=74663, + serialized_start=74769, + serialized_end=74795, ) _GETSHIELDEDANCHORSRESPONSE_GETSHIELDEDANCHORSRESPONSEV0 = _descriptor.Descriptor( @@ -19689,8 +19729,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74380, - serialized_end=74673, + serialized_start=74512, + serialized_end=74805, ) _GETSHIELDEDANCHORSRESPONSE = _descriptor.Descriptor( @@ -19725,8 +19765,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74251, - serialized_end=74684, + serialized_start=74383, + serialized_end=74816, ) @@ -19757,8 +19797,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=74839, - serialized_end=74892, + serialized_start=74971, + serialized_end=75024, ) _GETMOSTRECENTSHIELDEDANCHORREQUEST = _descriptor.Descriptor( @@ -19793,8 +19833,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74687, - serialized_end=74903, + serialized_start=74819, + serialized_end=75035, ) @@ -19844,8 +19884,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75062, - serialized_end=75243, + serialized_start=75194, + serialized_end=75375, ) _GETMOSTRECENTSHIELDEDANCHORRESPONSE = _descriptor.Descriptor( @@ -19880,8 +19920,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=74906, - serialized_end=75254, + serialized_start=75038, + serialized_end=75386, ) @@ -19912,8 +19952,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=75388, - serialized_end=75434, + serialized_start=75520, + serialized_end=75566, ) _GETSHIELDEDPOOLSTATEREQUEST = _descriptor.Descriptor( @@ -19948,8 +19988,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75257, - serialized_end=75445, + serialized_start=75389, + serialized_end=75577, ) @@ -19999,8 +20039,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75583, - serialized_end=75768, + serialized_start=75715, + serialized_end=75900, ) _GETSHIELDEDPOOLSTATERESPONSE = _descriptor.Descriptor( @@ -20035,8 +20075,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75448, - serialized_end=75779, + serialized_start=75580, + serialized_end=75911, ) @@ -20067,8 +20107,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=75916, - serialized_end=75963, + serialized_start=76048, + serialized_end=76095, ) _GETSHIELDEDNOTESCOUNTREQUEST = _descriptor.Descriptor( @@ -20103,8 +20143,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75782, - serialized_end=75974, + serialized_start=75914, + serialized_end=76106, ) @@ -20154,8 +20194,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=76115, - serialized_end=76305, + serialized_start=76247, + serialized_end=76437, ) _GETSHIELDEDNOTESCOUNTRESPONSE = _descriptor.Descriptor( @@ -20190,8 +20230,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=75977, - serialized_end=76316, + serialized_start=76109, + serialized_end=76448, ) @@ -20229,8 +20269,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=76453, - serialized_end=76520, + serialized_start=76585, + serialized_end=76652, ) _GETSHIELDEDNULLIFIERSREQUEST = _descriptor.Descriptor( @@ -20265,8 +20305,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=76319, - serialized_end=76531, + serialized_start=76451, + serialized_end=76663, ) @@ -20304,8 +20344,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=76960, - serialized_end=77014, + serialized_start=77092, + serialized_end=77146, ) _GETSHIELDEDNULLIFIERSRESPONSE_GETSHIELDEDNULLIFIERSRESPONSEV0_NULLIFIERSTATUSES = _descriptor.Descriptor( @@ -20335,8 +20375,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=77017, - serialized_end=77159, + serialized_start=77149, + serialized_end=77291, ) _GETSHIELDEDNULLIFIERSRESPONSE_GETSHIELDEDNULLIFIERSRESPONSEV0 = _descriptor.Descriptor( @@ -20385,8 +20425,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=76672, - serialized_end=77169, + serialized_start=76804, + serialized_end=77301, ) _GETSHIELDEDNULLIFIERSRESPONSE = _descriptor.Descriptor( @@ -20421,8 +20461,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=76534, - serialized_end=77180, + serialized_start=76666, + serialized_end=77312, ) _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST @@ -20890,10 +20930,9 @@ _GETCONTRACTFEEPOTSREQUEST.oneofs_by_name['version'].fields.append( _GETCONTRACTFEEPOTSREQUEST.fields_by_name['v0']) _GETCONTRACTFEEPOTSREQUEST.fields_by_name['v0'].containing_oneof = _GETCONTRACTFEEPOTSREQUEST.oneofs_by_name['version'] +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM.containing_type = _GETCONTRACTFEEPOTSRESPONSE +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['last_claim'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.containing_type = _GETCONTRACTFEEPOTSRESPONSE -_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.oneofs_by_name['_last_claim_epoch'].fields.append( - _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['last_claim_epoch']) -_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['last_claim_epoch'].containing_oneof = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.oneofs_by_name['_last_claim_epoch'] _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.fields_by_name['owner'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.fields_by_name['moderators'].message_type = _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTS.containing_type = _GETCONTRACTFEEPOTSRESPONSE @@ -23440,6 +23479,13 @@ GetContractFeePotsResponse = _reflection.GeneratedProtocolMessageType('GetContractFeePotsResponse', (_message.Message,), { + 'ContractFeePotLastClaim' : _reflection.GeneratedProtocolMessageType('ContractFeePotLastClaim', (_message.Message,), { + 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM, + '__module__' : 'platform_pb2' + # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim) + }) + , + 'ContractFeePot' : _reflection.GeneratedProtocolMessageType('ContractFeePot', (_message.Message,), { 'DESCRIPTOR' : _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT, '__module__' : 'platform_pb2' @@ -23465,6 +23511,7 @@ # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetContractFeePotsResponse) }) _sym_db.RegisterMessage(GetContractFeePotsResponse) +_sym_db.RegisterMessage(GetContractFeePotsResponse.ContractFeePotLastClaim) _sym_db.RegisterMessage(GetContractFeePotsResponse.ContractFeePot) _sym_db.RegisterMessage(GetContractFeePotsResponse.ContractFeePots) _sym_db.RegisterMessage(GetContractFeePotsResponse.GetContractFeePotsResponseV0) @@ -26180,6 +26227,7 @@ _SECURITYLEVELMAP_SECURITYLEVELMAPENTRY._options = None _GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSE_GETEVONODESPROPOSEDEPOCHBLOCKSRESPONSEV0_EVONODEPROPOSEDBLOCKS.fields_by_name['count']._options = None _GETIDENTITIESBALANCESRESPONSE_GETIDENTITIESBALANCESRESPONSEV0_IDENTITYBALANCE.fields_by_name['balance']._options = None +_GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOTLASTCLAIM.fields_by_name['time_ms']._options = None _GETCONTRACTFEEPOTSRESPONSE_CONTRACTFEEPOT.fields_by_name['credits']._options = None _GETDATACONTRACTHISTORYREQUEST_GETDATACONTRACTHISTORYREQUESTV0.fields_by_name['start_at_ms']._options = None _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.fields_by_name['date']._options = None @@ -26253,8 +26301,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=77424, - serialized_end=87585, + serialized_start=77556, + serialized_end=87717, methods=[ _descriptor.MethodDescriptor( name='broadcastStateTransition', diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts index 89a47fd70f2..e661e7b1984 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.d.ts @@ -3248,14 +3248,44 @@ export namespace GetContractFeePotsResponse { v0?: GetContractFeePotsResponse.GetContractFeePotsResponseV0.AsObject, } + export class ContractFeePotLastClaim extends jspb.Message { + getEpoch(): number; + setEpoch(value: number): void; + + getTimeMs(): string; + setTimeMs(value: string): void; + + getClaimantId(): Uint8Array | string; + getClaimantId_asU8(): Uint8Array; + getClaimantId_asB64(): string; + setClaimantId(value: Uint8Array | string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ContractFeePotLastClaim.AsObject; + static toObject(includeInstance: boolean, msg: ContractFeePotLastClaim): ContractFeePotLastClaim.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ContractFeePotLastClaim, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ContractFeePotLastClaim; + static deserializeBinaryFromReader(message: ContractFeePotLastClaim, reader: jspb.BinaryReader): ContractFeePotLastClaim; + } + + export namespace ContractFeePotLastClaim { + export type AsObject = { + epoch: number, + timeMs: string, + claimantId: Uint8Array | string, + } + } + export class ContractFeePot extends jspb.Message { getCredits(): string; setCredits(value: string): void; - hasLastClaimEpoch(): boolean; - clearLastClaimEpoch(): void; - getLastClaimEpoch(): number; - setLastClaimEpoch(value: number): void; + hasLastClaim(): boolean; + clearLastClaim(): void; + getLastClaim(): GetContractFeePotsResponse.ContractFeePotLastClaim | undefined; + setLastClaim(value?: GetContractFeePotsResponse.ContractFeePotLastClaim): void; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): ContractFeePot.AsObject; @@ -3270,7 +3300,7 @@ export namespace GetContractFeePotsResponse { export namespace ContractFeePot { export type AsObject = { credits: string, - lastClaimEpoch: number, + lastClaim?: GetContractFeePotsResponse.ContractFeePotLastClaim.AsObject, } } diff --git a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js index 2c0c5ac8bdc..a7b9c4045a4 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js +++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js @@ -123,6 +123,7 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.Get goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsRequest.VersionCase', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot', null, { proto }); +goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePots', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0', null, { proto }); goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.GetContractFeePotsResponseV0.ResultCase', null, { proto }); @@ -2920,6 +2921,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.displayName = 'proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -32654,6 +32676,220 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.serializeBinaryToWrit +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.toObject = function(opt_includeInstance) { + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject = function(includeInstance, msg) { + var f, obj = { + epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), + timeMs: jspb.Message.getFieldWithDefault(msg, 2, "0"), + claimantId: msg.getClaimantId_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim; + return proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint32()); + msg.setEpoch(value); + break; + case 2: + var value = /** @type {string} */ (reader.readUint64String()); + msg.setTimeMs(value); + break; + case 3: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setClaimantId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEpoch(); + if (f !== 0) { + writer.writeUint32( + 1, + f + ); + } + f = message.getTimeMs(); + if (parseInt(f, 10) !== 0) { + writer.writeUint64String( + 2, + f + ); + } + f = message.getClaimantId_asU8(); + if (f.length > 0) { + writer.writeBytes( + 3, + f + ); + } +}; + + +/** + * optional uint32 epoch = 1; + * @return {number} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getEpoch = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setEpoch = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 time_ms = 2; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getTimeMs = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0")); +}; + + +/** + * @param {string} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setTimeMs = function(value) { + return jspb.Message.setProto3StringIntField(this, 2, value); +}; + + +/** + * optional bytes claimant_id = 3; + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * optional bytes claimant_id = 3; + * This is a type-conversion wrapper around `getClaimantId()` + * @return {string} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getClaimantId())); +}; + + +/** + * optional bytes claimant_id = 3; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getClaimantId()` + * @return {!Uint8Array} + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.getClaimantId_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getClaimantId())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} returns this + */ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.prototype.setClaimantId = function(value) { + return jspb.Message.setProto3BytesField(this, 3, value); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -32684,7 +32920,7 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.toObject = function(includeInstance, msg) { var f, obj = { credits: jspb.Message.getFieldWithDefault(msg, 1, "0"), - lastClaimEpoch: jspb.Message.getFieldWithDefault(msg, 2, 0) + lastClaim: (f = msg.getLastClaim()) && proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.toObject(includeInstance, f) }; if (includeInstance) { @@ -32726,8 +32962,9 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.deseri msg.setCredits(value); break; case 2: - var value = /** @type {number} */ (reader.readUint32()); - msg.setLastClaimEpoch(value); + var value = new proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim; + reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.deserializeBinaryFromReader); + msg.setLastClaim(value); break; default: reader.skipField(); @@ -32765,11 +33002,12 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.serial f ); } - f = /** @type {number} */ (jspb.Message.getField(message, 2)); + f = message.getLastClaim(); if (f != null) { - writer.writeUint32( + writer.writeMessage( 2, - f + f, + proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim.serializeBinaryToWriter ); } }; @@ -32794,29 +33032,30 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot /** - * optional uint32 last_claim_epoch = 2; - * @return {number} + * optional ContractFeePotLastClaim last_claim = 2; + * @return {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaimEpoch = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.getLastClaim = function() { + return /** @type{?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim} */ ( + jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim, 2)); }; /** - * @param {number} value + * @param {?proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePotLastClaim|undefined} value * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this - */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaimEpoch = function(value) { - return jspb.Message.setField(this, 2, value); +*/ +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.setLastClaim = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * Clears the field making it undefined. + * Clears the message field making it undefined. * @return {!proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot} returns this */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaimEpoch = function() { - return jspb.Message.setField(this, 2, undefined); +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.clearLastClaim = function() { + return this.setLastClaim(undefined); }; @@ -32824,7 +33063,7 @@ proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.protot * Returns whether this field is set. * @return {boolean} */ -proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaimEpoch = function() { +proto.org.dash.platform.dapi.v0.GetContractFeePotsResponse.ContractFeePot.prototype.hasLastClaim = function() { return jspb.Message.getField(this, 2) != null; };