pub struct DataContractCreateTransitionV1 {
pub data_contract: DataContractInSerializationFormat,
pub identity_nonce: IdentityNonce,
pub contract_group: Option<ContractGroupRegistration>,
pub contract_group_memberships: Vec<ContractGroupMembership>,
pub user_fee_increase: UserFeeIncrease,
pub signature_public_key_id: KeyID,
pub signature: BinaryData,
}Expand description
Version 1 of the data contract create transition: version 0 plus contract groups.
contract_group registers a new contract group owned by the transition’s owner (or by the
owners it names); the group id is derived from the owner id and the identity nonce.
contract_group_memberships adds the created contract, one of its document types, or one of
its tokens to contract groups the owner may add to: groups registered earlier by an owner, or
the group registered by this transition. Both are empty on a plain contract creation.
Its decoding refuses a contract in format version 2, the stored format, which only state
holds, at the format’s tag, so none of its compiled types is built: bincode through a private
copy of the struct, serde through the contract field’s deserializer; both read the contract as
a TransitionContractFormat, which says what each reads before the tag.
Fields§
§data_contract: DataContractInSerializationFormat§identity_nonce: IdentityNonce§contract_group: Option<ContractGroupRegistration>§contract_group_memberships: Vec<ContractGroupMembership>§user_fee_increase: UserFeeIncrease§signature_public_key_id: KeyID§signature: BinaryDataTrait Implementations§
Source§impl<'de, Context> BorrowDecode<'de, Context> for DataContractCreateTransitionV1
impl<'de, Context> BorrowDecode<'de, Context> for DataContractCreateTransitionV1
Source§fn borrow_decode<D: BorrowDecoder<'de, Context = Context>>(
decoder: &mut D,
) -> Result<Self, DecodeError>
fn borrow_decode<D: BorrowDecoder<'de, Context = Context>>( decoder: &mut D, ) -> Result<Self, DecodeError>
Source§impl<'de, Context> BorrowDecodeUntrusted<'de, Context> for DataContractCreateTransitionV1
impl<'de, Context> BorrowDecodeUntrusted<'de, Context> for DataContractCreateTransitionV1
Source§fn borrow_decode_untrusted<D: BorrowUntrustedDecoder<'de, Context = Context>>(
decoder: &mut D,
) -> Result<Self, DecodeError>
fn borrow_decode_untrusted<D: BorrowUntrustedDecoder<'de, Context = Context>>( decoder: &mut D, ) -> Result<Self, DecodeError>
Source§impl Clone for DataContractCreateTransitionV1
impl Clone for DataContractCreateTransitionV1
Source§fn clone(&self) -> DataContractCreateTransitionV1
fn clone(&self) -> DataContractCreateTransitionV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl DataContractCreateTransitionMethodsV0 for DataContractCreateTransitionV1
impl DataContractCreateTransitionMethodsV0 for DataContractCreateTransitionV1
Source§async fn new_from_data_contract<S: Signer<IdentityPublicKey>>(
data_contract: DataContract,
identity_nonce: IdentityNonce,
identity: &PartialIdentity,
key_id: KeyID,
signer: &S,
platform_version: &PlatformVersion,
feature_version: Option<FeatureVersion>,
) -> Result<StateTransition, ProtocolError>
async fn new_from_data_contract<S: Signer<IdentityPublicKey>>( data_contract: DataContract, identity_nonce: IdentityNonce, identity: &PartialIdentity, key_id: KeyID, signer: &S, platform_version: &PlatformVersion, feature_version: Option<FeatureVersion>, ) -> Result<StateTransition, ProtocolError>
Source§impl DataContractCreateTransitionMethodsV1 for DataContractCreateTransitionV1
impl DataContractCreateTransitionMethodsV1 for DataContractCreateTransitionV1
Source§async fn new_from_data_contract_with_contract_group<S: Signer<IdentityPublicKey>>(
data_contract: DataContract,
identity_nonce: IdentityNonce,
contract_group: Option<ContractGroupRegistration>,
contract_group_memberships: Vec<ContractGroupMembership>,
identity: &PartialIdentity,
key_id: KeyID,
signer: &S,
platform_version: &PlatformVersion,
_feature_version: Option<FeatureVersion>,
) -> Result<StateTransition, ProtocolError>
async fn new_from_data_contract_with_contract_group<S: Signer<IdentityPublicKey>>( data_contract: DataContract, identity_nonce: IdentityNonce, contract_group: Option<ContractGroupRegistration>, contract_group_memberships: Vec<ContractGroupMembership>, identity: &PartialIdentity, key_id: KeyID, signer: &S, platform_version: &PlatformVersion, _feature_version: Option<FeatureVersion>, ) -> Result<StateTransition, ProtocolError>
Source§impl<Context> Decode<Context> for DataContractCreateTransitionV1
impl<Context> Decode<Context> for DataContractCreateTransitionV1
Source§impl<Context> DecodeUntrusted<Context> for DataContractCreateTransitionV1
impl<Context> DecodeUntrusted<Context> for DataContractCreateTransitionV1
Source§fn decode_untrusted<D: UntrustedDecoder<Context = Context>>(
decoder: &mut D,
) -> Result<Self, DecodeError>
fn decode_untrusted<D: UntrustedDecoder<Context = Context>>( decoder: &mut D, ) -> Result<Self, DecodeError>
Source§impl<'de> Deserialize<'de> for DataContractCreateTransitionV1
impl<'de> Deserialize<'de> for DataContractCreateTransitionV1
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl FeatureVersioned for DataContractCreateTransitionV1
impl FeatureVersioned for DataContractCreateTransitionV1
fn feature_version(&self) -> FeatureVersion
Source§impl<'a> From<&'a DataContractCreateTransitionV1> for DataContractCreateTransitionV1Signable<'a>
impl<'a> From<&'a DataContractCreateTransitionV1> for DataContractCreateTransitionV1Signable<'a>
Source§fn from(original: &'a DataContractCreateTransitionV1) -> Self
fn from(original: &'a DataContractCreateTransitionV1) -> Self
Source§impl From<&DataContractCreateTransitionV1> for StateTransition
impl From<&DataContractCreateTransitionV1> for StateTransition
Source§fn from(value: &DataContractCreateTransitionV1) -> Self
fn from(value: &DataContractCreateTransitionV1) -> Self
Source§impl From<DataContractCreateTransitionV1> for StateTransition
impl From<DataContractCreateTransitionV1> for StateTransition
Source§fn from(value: DataContractCreateTransitionV1) -> Self
fn from(value: DataContractCreateTransitionV1) -> Self
Source§impl From<DataContractCreateTransitionV1> for DataContractCreateTransition
impl From<DataContractCreateTransitionV1> for DataContractCreateTransition
Source§fn from(value: DataContractCreateTransitionV1) -> Self
fn from(value: DataContractCreateTransitionV1) -> Self
impl JsonSafeFields for DataContractCreateTransitionV1
Source§impl Signable for DataContractCreateTransitionV1
impl Signable for DataContractCreateTransitionV1
fn signable_bytes(&self) -> Result<Vec<u8>, ProtocolError>
Source§impl StateTransitionFieldTypes for DataContractCreateTransitionV1
impl StateTransitionFieldTypes for DataContractCreateTransitionV1
fn signature_property_paths() -> Vec<&'static str>
fn identifiers_property_paths() -> Vec<&'static str>
fn binary_property_paths() -> Vec<&'static str>
Source§impl StateTransitionHasUserFeeIncrease for DataContractCreateTransitionV1
impl StateTransitionHasUserFeeIncrease for DataContractCreateTransitionV1
Source§fn user_fee_increase(&self) -> UserFeeIncrease
fn user_fee_increase(&self) -> UserFeeIncrease
Source§fn set_user_fee_increase(&mut self, user_fee_increase: UserFeeIncrease)
fn set_user_fee_increase(&mut self, user_fee_increase: UserFeeIncrease)
Source§impl StateTransitionIdentitySigned for DataContractCreateTransitionV1
impl StateTransitionIdentitySigned for DataContractCreateTransitionV1
fn signature_public_key_id(&self) -> KeyID
fn set_signature_public_key_id(&mut self, key_id: KeyID)
Source§fn security_level_requirement(&self, _purpose: Purpose) -> Vec<SecurityLevel>
fn security_level_requirement(&self, _purpose: Purpose) -> Vec<SecurityLevel>
Source§fn verify_public_key_level_and_purpose(
&self,
public_key: &IdentityPublicKey,
options: StateTransitionSigningOptions,
) -> Result<(), ProtocolError>
fn verify_public_key_level_and_purpose( &self, public_key: &IdentityPublicKey, options: StateTransitionSigningOptions, ) -> Result<(), ProtocolError>
fn verify_public_key_is_enabled( &self, public_key: &IdentityPublicKey, ) -> Result<(), ProtocolError>
Source§fn purpose_requirement(&self) -> Vec<Purpose>
fn purpose_requirement(&self) -> Vec<Purpose>
Source§impl StateTransitionLike for DataContractCreateTransitionV1
impl StateTransitionLike for DataContractCreateTransitionV1
Source§fn modified_data_ids(&self) -> Vec<Identifier>
fn modified_data_ids(&self) -> Vec<Identifier>
Returns ID of the created contract
Source§fn state_transition_type(&self) -> StateTransitionType
fn state_transition_type(&self) -> StateTransitionType
returns the type of State Transition
Source§fn state_transition_protocol_version(&self) -> FeatureVersion
fn state_transition_protocol_version(&self) -> FeatureVersion
Source§fn unique_identifiers(&self) -> Vec<String>
fn unique_identifiers(&self) -> Vec<String>
Source§fn is_document_state_transition(&self) -> bool
fn is_document_state_transition(&self) -> bool
Source§fn is_data_contract_state_transition(&self) -> bool
fn is_data_contract_state_transition(&self) -> bool
Source§fn is_identity_state_transition(&self) -> bool
fn is_identity_state_transition(&self) -> bool
Source§fn is_voting_state_transition(&self) -> bool
fn is_voting_state_transition(&self) -> bool
Source§impl StateTransitionOwned for DataContractCreateTransitionV1
impl StateTransitionOwned for DataContractCreateTransitionV1
Source§fn owner_id(&self) -> Identifier
fn owner_id(&self) -> Identifier
Get owner ID
impl StructuralPartialEq for DataContractCreateTransitionV1
Source§impl TryFromPlatformVersioned<CreatedDataContract> for DataContractCreateTransitionV1
impl TryFromPlatformVersioned<CreatedDataContract> for DataContractCreateTransitionV1
Source§type Error = ProtocolError
type Error = ProtocolError
Source§fn try_from_platform_versioned(
value: CreatedDataContract,
platform_version: &PlatformVersion,
) -> Result<Self, Self::Error>
fn try_from_platform_versioned( value: CreatedDataContract, platform_version: &PlatformVersion, ) -> Result<Self, Self::Error>
Source§impl TryFromPlatformVersioned<DataContract> for DataContractCreateTransitionV1
impl TryFromPlatformVersioned<DataContract> for DataContractCreateTransitionV1
Source§type Error = ProtocolError
type Error = ProtocolError
Source§fn try_from_platform_versioned(
value: DataContract,
platform_version: &PlatformVersion,
) -> Result<Self, Self::Error>
fn try_from_platform_versioned( value: DataContract, platform_version: &PlatformVersion, ) -> Result<Self, Self::Error>
Auto Trait Implementations§
impl Freeze for DataContractCreateTransitionV1
impl RefUnwindSafe for DataContractCreateTransitionV1
impl Send for DataContractCreateTransitionV1
impl Sync for DataContractCreateTransitionV1
impl Unpin for DataContractCreateTransitionV1
impl UnsafeUnpin for DataContractCreateTransitionV1
impl UnwindSafe for DataContractCreateTransitionV1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> CostsExt for T
impl<T> CostsExt for T
§fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
CostContext object with provided costs.§fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
CostContext object with costs computed using the
value getting wrapped.§impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
fn borrow_decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
§impl<T> DefaultDecode for T
impl<T> DefaultDecode for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T, U> IntoOnNetwork<U> for Twhere
U: FromOnNetwork<T>,
impl<T, U> IntoOnNetwork<U> for Twhere
U: FromOnNetwork<T>,
§fn into_on_network(self, network: Network) -> U
fn into_on_network(self, network: Network) -> U
Calls U::from_on_network(self).
§impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
§fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.