pub struct UnshieldTransitionV0 {
pub output_address: PlatformAddress,
pub actions: Vec<SerializedAction>,
pub unshielding_amount: u64,
pub anchor: [u8; 32],
pub proof: Vec<u8>,
pub binding_signature: [u8; 64],
}Fields§
§output_address: PlatformAddressAddress receiving the unshielded funds
actions: Vec<SerializedAction>Orchard actions (spend-output pairs)
unshielding_amount: u64Total credits leaving the shielded pool (recipient amount + fee)
anchor: [u8; 32]Sinsemilla root of the note commitment tree (Orchard Anchor)
proof: Vec<u8>Halo2 proof bytes
binding_signature: [u8; 64]RedPallas binding signature
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for UnshieldTransitionV0
impl<'__de, __Context> BorrowDecode<'__de, __Context> for UnshieldTransitionV0
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>
Attempt to decode this type with the given BorrowDecode.
Source§impl Clone for UnshieldTransitionV0
impl Clone for UnshieldTransitionV0
Source§fn clone(&self) -> UnshieldTransitionV0
fn clone(&self) -> UnshieldTransitionV0
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UnshieldTransitionV0
impl Debug for UnshieldTransitionV0
Source§impl<__Context> Decode<__Context> for UnshieldTransitionV0
impl<__Context> Decode<__Context> for UnshieldTransitionV0
Source§impl<'de> Deserialize<'de> for UnshieldTransitionV0
impl<'de> Deserialize<'de> for UnshieldTransitionV0
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode for UnshieldTransitionV0
impl Encode for UnshieldTransitionV0
Source§impl FeatureVersioned for UnshieldTransitionV0
impl FeatureVersioned for UnshieldTransitionV0
fn feature_version(&self) -> FeatureVersion
Source§impl<'a> From<&'a UnshieldTransitionV0> for UnshieldTransitionV0Signable<'a>
impl<'a> From<&'a UnshieldTransitionV0> for UnshieldTransitionV0Signable<'a>
Source§fn from(original: &'a UnshieldTransitionV0) -> Self
fn from(original: &'a UnshieldTransitionV0) -> Self
Converts to this type from the input type.
Source§impl From<UnshieldTransitionV0> for StateTransition
impl From<UnshieldTransitionV0> for StateTransition
Source§fn from(value: UnshieldTransitionV0) -> Self
fn from(value: UnshieldTransitionV0) -> Self
Converts to this type from the input type.
Source§impl From<UnshieldTransitionV0> for UnshieldTransition
impl From<UnshieldTransitionV0> for UnshieldTransition
Source§fn from(value: UnshieldTransitionV0) -> Self
fn from(value: UnshieldTransitionV0) -> Self
Converts to this type from the input type.
Source§impl PartialEq for UnshieldTransitionV0
impl PartialEq for UnshieldTransitionV0
Source§impl PlatformDeserializable for UnshieldTransitionV0
impl PlatformDeserializable for UnshieldTransitionV0
fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, ProtocolError>
fn deserialize_from_bytes_no_limit(bytes: &[u8]) -> Result<Self, ProtocolError>
Source§impl PlatformVersionEncode for UnshieldTransitionV0
impl PlatformVersionEncode for UnshieldTransitionV0
Source§fn platform_encode<__E: Encoder>(
&self,
encoder: &mut __E,
platform_version: &PlatformVersion,
) -> Result<(), EncodeError>
fn platform_encode<__E: Encoder>( &self, encoder: &mut __E, platform_version: &PlatformVersion, ) -> Result<(), EncodeError>
Encode a given type.
Source§impl<'__de> PlatformVersionedBorrowDecode<'__de> for UnshieldTransitionV0
impl<'__de> PlatformVersionedBorrowDecode<'__de> for UnshieldTransitionV0
Source§fn platform_versioned_borrow_decode<__D: BorrowDecoder<'__de, Context = BincodeContext>>(
decoder: &mut __D,
platform_version: &PlatformVersion,
) -> Result<Self, DecodeError>
fn platform_versioned_borrow_decode<__D: BorrowDecoder<'__de, Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl PlatformVersionedDecode for UnshieldTransitionV0
impl PlatformVersionedDecode for UnshieldTransitionV0
Source§fn platform_versioned_decode<__D: Decoder<Context = BincodeContext>>(
decoder: &mut __D,
platform_version: &PlatformVersion,
) -> Result<Self, DecodeError>
fn platform_versioned_decode<__D: Decoder<Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given Decode.
Source§impl Serialize for UnshieldTransitionV0
impl Serialize for UnshieldTransitionV0
Source§impl Signable for UnshieldTransitionV0
impl Signable for UnshieldTransitionV0
fn signable_bytes(&self) -> Result<Vec<u8>, ProtocolError>
Source§impl StateTransitionFieldTypes for UnshieldTransitionV0
impl StateTransitionFieldTypes for UnshieldTransitionV0
fn signature_property_paths() -> Vec<&'static str>
fn identifiers_property_paths() -> Vec<&'static str>
fn binary_property_paths() -> Vec<&'static str>
Source§impl StateTransitionLike for UnshieldTransitionV0
impl StateTransitionLike for UnshieldTransitionV0
Source§fn state_transition_type(&self) -> StateTransitionType
fn state_transition_type(&self) -> StateTransitionType
returns the type of State Transition
Source§fn modified_data_ids(&self) -> Vec<Identifier>
fn modified_data_ids(&self) -> Vec<Identifier>
Returns IDs of modified data (none for shielded transitions)
Source§fn unique_identifiers(&self) -> Vec<String>
fn unique_identifiers(&self) -> Vec<String>
For ZK-only transitions, uniqueness comes from nullifiers in the actions. Each nullifier can only be used once, making them natural unique identifiers.
Source§fn state_transition_protocol_version(&self) -> FeatureVersion
fn state_transition_protocol_version(&self) -> FeatureVersion
returns the protocol version
Source§fn is_document_state_transition(&self) -> bool
fn is_document_state_transition(&self) -> bool
returns true if state transition is a document state transition
Source§fn is_data_contract_state_transition(&self) -> bool
fn is_data_contract_state_transition(&self) -> bool
returns true if state transition is a data contract state transition
Source§fn is_identity_state_transition(&self) -> bool
fn is_identity_state_transition(&self) -> bool
return true if state transition is an identity state transition
Source§fn is_voting_state_transition(&self) -> bool
fn is_voting_state_transition(&self) -> bool
return true if state transition is a voting state transition
Source§impl StateTransitionStructureValidation for UnshieldTransitionV0
impl StateTransitionStructureValidation for UnshieldTransitionV0
Source§fn validate_structure(
&self,
platform_version: &PlatformVersion,
) -> SimpleConsensusValidationResult
fn validate_structure( &self, platform_version: &PlatformVersion, ) -> SimpleConsensusValidationResult
Validates the structure of the state transition
Source§impl UnshieldTransitionMethodsV0 for UnshieldTransitionV0
impl UnshieldTransitionMethodsV0 for UnshieldTransitionV0
fn try_from_bundle( output_address: PlatformAddress, actions: Vec<SerializedAction>, unshielding_amount: u64, anchor: [u8; 32], proof: Vec<u8>, binding_signature: [u8; 64], _platform_version: &PlatformVersion, ) -> Result<StateTransition, ProtocolError>
Source§fn get_type() -> StateTransitionType
fn get_type() -> StateTransitionType
Get State Transition Type
impl StructuralPartialEq for UnshieldTransitionV0
Auto Trait Implementations§
impl Freeze for UnshieldTransitionV0
impl RefUnwindSafe for UnshieldTransitionV0
impl Send for UnshieldTransitionV0
impl Sync for UnshieldTransitionV0
impl Unpin for UnshieldTransitionV0
impl UnwindSafe for UnshieldTransitionV0
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
Mutably borrows from an owned value. Read more
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,
Wraps any value into a
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,
Wraps any value into
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> 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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
Converts
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>
Converts
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
Performs the conversion.
§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,
Pipes by value. This is generally the method you want to use. Read more
§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,
Borrows
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,
Mutably borrows
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
Borrows
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
Mutably borrows
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
Borrows
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T, U> TryIntoPlatformVersioned<U> for Twhere
U: TryFromPlatformVersioned<T>,
impl<T, U> TryIntoPlatformVersioned<U> for Twhere
U: TryFromPlatformVersioned<T>,
§type Error = <U as TryFromPlatformVersioned<T>>::Error
type Error = <U as TryFromPlatformVersioned<T>>::Error
The type returned in the event of a conversion error.
§fn try_into_platform_versioned(
self,
platform_version: &PlatformVersion,
) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>
fn try_into_platform_versioned( self, platform_version: &PlatformVersion, ) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>
Performs the conversion.
§impl<T, U> TryIntoVersioned<U> for Twhere
U: TryFromVersioned<T>,
impl<T, U> TryIntoVersioned<U> for Twhere
U: TryFromVersioned<T>,
§type Error = <U as TryFromVersioned<T>>::Error
type Error = <U as TryFromVersioned<T>>::Error
The type returned in the event of a conversion error.
§fn try_into_versioned(
self,
grove_version: &GroveVersion,
) -> Result<U, <U as TryFromVersioned<T>>::Error>
fn try_into_versioned( self, grove_version: &GroveVersion, ) -> Result<U, <U as TryFromVersioned<T>>::Error>
Performs the conversion.