dpp/state_transition/
proof_result.rs1use crate::address_funds::PlatformAddress;
2use crate::asset_lock::StoredAssetLockInfo;
3use crate::balances::credits::TokenAmount;
4use crate::data_contract::group::GroupSumPower;
5use crate::data_contract::DataContract;
6use crate::document::Document;
7use crate::fee::Credits;
8use crate::group::group_action_status::GroupActionStatus;
9use crate::identity::{Identity, PartialIdentity};
10use crate::prelude::AddressNonce;
11use crate::tokens::info::IdentityTokenInfo;
12use crate::tokens::status::TokenStatus;
13use crate::tokens::token_pricing_schedule::TokenPricingSchedule;
14use crate::voting::votes::Vote;
15use platform_value::Identifier;
16use std::collections::BTreeMap;
17
18#[derive(Debug, strum::Display, derive_more::TryInto)]
19#[cfg_attr(
20 feature = "serde-conversion",
21 derive(serde::Serialize, serde::Deserialize)
22)]
23pub enum StateTransitionProofResult {
24 VerifiedDataContract(DataContract),
25 VerifiedIdentity(Identity),
26 VerifiedTokenBalanceAbsence(Identifier),
27 VerifiedTokenBalance(Identifier, TokenAmount),
28 VerifiedTokenIdentityInfo(Identifier, IdentityTokenInfo),
29 VerifiedTokenPricingSchedule(Identifier, Option<TokenPricingSchedule>),
30 VerifiedTokenStatus(TokenStatus),
31 VerifiedTokenIdentitiesBalances(BTreeMap<Identifier, TokenAmount>),
32 VerifiedPartialIdentity(PartialIdentity),
33 VerifiedBalanceTransfer(PartialIdentity, PartialIdentity), VerifiedDocuments(BTreeMap<Identifier, Option<Document>>),
35 VerifiedTokenActionWithDocument(Document),
36 VerifiedTokenGroupActionWithDocument(GroupSumPower, Option<Document>),
37 VerifiedTokenGroupActionWithTokenBalance(GroupSumPower, GroupActionStatus, Option<TokenAmount>),
38 VerifiedTokenGroupActionWithTokenIdentityInfo(
39 GroupSumPower,
40 GroupActionStatus,
41 Option<IdentityTokenInfo>,
42 ),
43 VerifiedTokenGroupActionWithTokenPricingSchedule(
44 GroupSumPower,
45 GroupActionStatus,
46 Option<TokenPricingSchedule>,
47 ),
48 VerifiedMasternodeVote(Vote),
49 VerifiedNextDistribution(Vote),
50 VerifiedAddressInfos(BTreeMap<PlatformAddress, Option<(AddressNonce, Credits)>>),
51 VerifiedIdentityFullWithAddressInfos(
52 Identity,
53 BTreeMap<PlatformAddress, Option<(AddressNonce, Credits)>>,
54 ),
55 VerifiedIdentityWithAddressInfos(
56 PartialIdentity,
57 BTreeMap<PlatformAddress, Option<(AddressNonce, Credits)>>,
58 ),
59 VerifiedAssetLockConsumed(StoredAssetLockInfo),
60 VerifiedShieldedNullifiers(Vec<(Vec<u8>, bool)>),
61 VerifiedShieldedNullifiersWithAddressInfos(
62 Vec<(Vec<u8>, bool)>,
63 BTreeMap<PlatformAddress, Option<(AddressNonce, Credits)>>,
64 ),
65 VerifiedShieldedNullifiersWithWithdrawalDocument(
66 Vec<(Vec<u8>, bool)>,
67 BTreeMap<Identifier, Option<Document>>,
68 ),
69}