Enum rgb::contract::OwnedState[][src]

pub enum OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
{ Confidential { seal_definition: Confidential, assigned_state: STATE::Confidential, }, Revealed { seal_definition: Revealed, assigned_state: STATE::Revealed, }, ConfidentialSeal { seal_definition: Confidential, assigned_state: STATE::Revealed, }, ConfidentialAmount { seal_definition: Revealed, assigned_state: STATE::Confidential, }, }
Expand description

State data are assigned to a seal definition, which means that they are owned by a person controlling spending of the seal UTXO, unless the seal is closed, indicating that a transfer of ownership had taken place

Variants

Confidential
Show fields

Fields of Confidential

seal_definition: Confidentialassigned_state: STATE::Confidential
Revealed
Show fields

Fields of Revealed

seal_definition: Revealedassigned_state: STATE::Revealed
ConfidentialSeal
Show fields

Fields of ConfidentialSeal

seal_definition: Confidentialassigned_state: STATE::Revealed
ConfidentialAmount
Show fields

Fields of ConfidentialAmount

seal_definition: Revealedassigned_state: STATE::Confidential

Implementations

impl<STATE> OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

pub fn seal_definition_confidential(&self) -> Confidential[src]

pub fn seal_definition(&self) -> Option<Revealed>[src]

pub fn assigned_state_confidential(&self) -> STATE::Confidential[src]

pub fn assigned_state(&self) -> Option<&STATE::Revealed>[src]

pub fn reveal_seals<'a>(
    &mut self,
    known_seals: impl Iterator<Item = &'a OutpointReveal>
) -> usize
[src]

Reveals previously known seal information (replacing blind UTXOs with unblind ones). Function is used when a peer receives consignment containing concealed seals for the outputs owned by the peer

Trait Implementations

impl<STATE: Clone> Clone for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>,
    STATE::Confidential: Clone,
    STATE::Revealed: Clone,
    STATE::Revealed: Clone,
    STATE::Confidential: Clone
[src]

fn clone(&self) -> OwnedState<STATE>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<STATE> CommitConceal for OwnedState<STATE> where
    Self: Clone,
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

type ConcealedCommitment = Self

fn commit_conceal(&self) -> Self::ConcealedCommitment[src]

impl<STATE> CommitEncode for OwnedState<STATE> where
    Self: Clone,
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn commit_encode<E: Write>(&self, e: E) -> usize[src]

fn commit_serialize(&self) -> Vec<u8, Global>

impl<STATE> ConcealSeals for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Revealed: CommitConceal,
    STATE::Confidential: PartialEq + Eq,
    <STATE as StateTypes>::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn conceal_seals(&mut self, seals: &Vec<Confidential>) -> usize[src]

impl<STATE> ConcealState for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Revealed: CommitConceal,
    STATE::Confidential: PartialEq + Eq,
    <STATE as StateTypes>::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn conceal_state_except(&mut self, seals: &Vec<Confidential>) -> usize[src]

fn conceal_state(&mut self) -> usize[src]

impl<STATE> ConsensusCommit for OwnedState<STATE> where
    Self: Clone,
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

type Commitment = MerkleNode

fn consensus_commit(&self) -> Self::Commitment

fn consensus_verify(&self, commitment: &Self::Commitment) -> bool

impl<STATE: Debug> Debug for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>,
    STATE::Confidential: Debug,
    STATE::Revealed: Debug,
    STATE::Revealed: Debug,
    STATE::Confidential: Debug
[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'de, STATE> Deserialize<'de> for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>,
    STATE::Confidential: Deserialize<'de>,
    STATE::Revealed: Deserialize<'de>,
    STATE::Revealed: Deserialize<'de>,
    STATE::Confidential: Deserialize<'de>, 
[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl<STATE> Display for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<STATE> IntoRevealed for OwnedState<STATE> where
    Self: Clone,
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn into_revealed(self, other: Self) -> Result<Self, Error>[src]

impl<STATE> Ord for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn cmp(&self, other: &Self) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl<STATE> PartialEq<OwnedState<STATE>> for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn eq(&self, other: &Self) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl<STATE> PartialOrd<OwnedState<STATE>> for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn partial_cmp(&self, other: &Self) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<STATE> Serialize for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>,
    STATE::Confidential: Serialize,
    STATE::Revealed: Serialize,
    STATE::Revealed: Serialize,
    STATE::Confidential: Serialize
[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl<STATE> StrictDecode for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn strict_decode<D: Read>(d: D) -> Result<Self, Error>[src]

Decode with the given [std::io::Reader] instance; must either construct an instance or return implementation-specific error type. Read more

fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>[src]

Tries to deserialize byte array into the current type using [strict_decode()] Read more

impl<STATE> StrictEncode for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>[src]

Encode with the given [std::io::Writer] instance; must return result with either amount of bytes encoded – or implementation-specific error type. Read more

fn strict_serialize(&self) -> Result<Vec<u8, Global>, Error>[src]

Serializes data as a byte array using [strict_encode()] function

impl<STATE> Eq for OwnedState<STATE> where
    STATE: StateTypes,
    STATE::Confidential: PartialEq + Eq,
    STATE::Confidential: From<<STATE::Revealed as CommitConceal>::ConcealedCommitment>, 
[src]

Auto Trait Implementations

impl<STATE> RefUnwindSafe for OwnedState<STATE> where
    <STATE as StateTypes>::Confidential: RefUnwindSafe,
    <STATE as StateTypes>::Revealed: RefUnwindSafe

impl<STATE> Send for OwnedState<STATE> where
    <STATE as StateTypes>::Confidential: Send,
    <STATE as StateTypes>::Revealed: Send

impl<STATE> Sync for OwnedState<STATE> where
    <STATE as StateTypes>::Confidential: Sync,
    <STATE as StateTypes>::Revealed: Sync

impl<STATE> Unpin for OwnedState<STATE> where
    <STATE as StateTypes>::Confidential: Unpin,
    <STATE as StateTypes>::Revealed: Unpin

impl<STATE> UnwindSafe for OwnedState<STATE> where
    <STATE as StateTypes>::Confidential: UnwindSafe,
    <STATE as StateTypes>::Revealed: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]