dpp/serialization/json/
safe_fields.rs1use crate::contract_group::{ContractGroupMembership, ContractGroupRegistration};
2use crate::data_contract::associated_token::token_configuration_item::TokenConfigurationChangeItem;
3use crate::data_contract::associated_token::token_distribution_key::{
4 TokenDistributionInfo, TokenDistributionType,
5};
6use crate::data_contract::associated_token::token_perpetual_distribution::reward_distribution_moment::RewardDistributionMoment;
7use crate::data_contract::document_type::ContestedIndexFieldMatch;
8#[cfg(feature = "state-transitions")]
9use crate::state_transition::batch_transition::batched_transition::{
10 BatchedTransition, DocumentTransition, TokenTransition,
11};
12#[cfg(feature = "state-transitions")]
13use crate::state_transition::batch_transition::document_base_transition::DocumentBaseTransition;
14#[cfg(feature = "state-transitions")]
15use crate::state_transition::batch_transition::token_base_transition::TokenBaseTransition;
16use crate::tokens::emergency_action::TokenEmergencyAction;
17use crate::tokens::gas_fees_paid_by::GasFeesPaidBy;
18use crate::tokens::token_payment_info::TokenPaymentInfo;
19use crate::tokens::token_pricing_schedule::TokenPricingSchedule;
20
21pub trait JsonSafeFields {}
46
47impl JsonSafeFields for bool {}
51impl JsonSafeFields for u8 {}
52impl JsonSafeFields for u16 {}
53impl JsonSafeFields for u32 {}
54impl JsonSafeFields for i8 {}
55impl JsonSafeFields for i16 {}
56impl JsonSafeFields for i32 {}
57impl JsonSafeFields for f32 {}
58impl JsonSafeFields for f64 {}
59impl JsonSafeFields for usize {}
60impl JsonSafeFields for isize {}
61impl JsonSafeFields for char {}
62impl JsonSafeFields for String {}
63impl JsonSafeFields for () {}
64impl<T: JsonSafeFields> JsonSafeFields for &T {}
65impl<const N: usize> JsonSafeFields for [u8; N] {}
66
67impl<T: JsonSafeFields> JsonSafeFields for Vec<T> {}
73impl<T: JsonSafeFields> JsonSafeFields for Option<T> {}
74impl<T: JsonSafeFields> JsonSafeFields for Box<T> {}
75impl<K: JsonSafeFields, V: JsonSafeFields> JsonSafeFields for std::collections::BTreeMap<K, V> {}
76impl<T: JsonSafeFields> JsonSafeFields for std::collections::BTreeSet<T> {}
77impl<K: JsonSafeFields, V: JsonSafeFields> JsonSafeFields for std::collections::HashMap<K, V> {}
78impl<T: JsonSafeFields> JsonSafeFields for std::collections::HashSet<T> {}
79
80impl JsonSafeFields for platform_value::Identifier {}
83impl JsonSafeFields for platform_value::BinaryData {}
84impl JsonSafeFields for platform_value::Bytes20 {}
85impl JsonSafeFields for platform_value::Bytes32 {}
86impl JsonSafeFields for platform_value::Bytes36 {}
87impl JsonSafeFields for platform_value::Value {}
88impl JsonSafeFields for platform_value::string_encoding::Encoding {}
89
90impl JsonSafeFields for dashcore::OutPoint {}
93
94impl JsonSafeFields
100 for crate::data_contract::change_control_rules::authorized_action_takers::AuthorizedActionTakers
101{
102}
103impl JsonSafeFields
104 for crate::data_contract::storage_requirements::keys_for_document_type::StorageKeyRequirements
105{
106}
107impl JsonSafeFields
108 for crate::data_contract::associated_token::token_marketplace_rules::v0::TokenTradeMode
109{
110}
111impl JsonSafeFields for crate::data_contract::associated_token::token_perpetual_distribution::distribution_recipient::TokenDistributionRecipient {}
112impl JsonSafeFields for crate::identity::Purpose {}
113impl JsonSafeFields for crate::identity::SecurityLevel {}
114impl JsonSafeFields for crate::identity::KeyType {}
115impl JsonSafeFields for crate::block::epoch::Epoch {}
116impl JsonSafeFields for crate::identity::identity_public_key::IdentityPublicKey {}
117impl JsonSafeFields for crate::identity::state_transition::asset_lock_proof::AssetLockProof {}
118impl JsonSafeFields for crate::address_funds::PlatformAddress {}
119impl JsonSafeFields for crate::address_funds::AddressFundsFeeStrategy {}
120impl JsonSafeFields for crate::withdrawal::Pooling {}
123impl JsonSafeFields for crate::identity::core_script::CoreScript {}
124impl JsonSafeFields for crate::voting::votes::Vote {}
125#[cfg(feature = "state-transitions")]
129impl JsonSafeFields for DocumentBaseTransition {}
130impl JsonSafeFields for TokenPaymentInfo {}
132impl JsonSafeFields for GasFeesPaidBy {}
134impl JsonSafeFields for ContractGroupRegistration {}
135impl JsonSafeFields for ContractGroupMembership {}
136#[cfg(feature = "state-transitions")]
141impl JsonSafeFields for TokenBaseTransition {}
142#[cfg(feature = "state-transitions")]
147impl JsonSafeFields for DocumentTransition {}
148#[cfg(feature = "state-transitions")]
149impl JsonSafeFields for TokenTransition {}
150#[cfg(feature = "state-transitions")]
151impl JsonSafeFields for BatchedTransition {}
152impl JsonSafeFields for crate::voting::vote_choices::resource_vote_choice::ResourceVoteChoice {}
153impl JsonSafeFields for crate::group::action_event::GroupActionEvent {}
154impl JsonSafeFields for crate::tokens::token_event::TokenEvent {}
158impl JsonSafeFields for TokenEmergencyAction {}
160impl JsonSafeFields for TokenDistributionType {}
162impl JsonSafeFields for TokenPricingSchedule {}
168impl JsonSafeFields for TokenConfigurationChangeItem {}
171impl JsonSafeFields for RewardDistributionMoment {}
176impl JsonSafeFields for ContestedIndexFieldMatch {}
180impl JsonSafeFields for TokenDistributionInfo {}