Enum soroban_sdk::xdr::ScpStatementPledges
pub enum ScpStatementPledges {
Prepare(ScpStatementPrepare),
Confirm(ScpStatementConfirm),
Externalize(ScpStatementExternalize),
Nominate(ScpNomination),
}
Expand description
ScpStatementPledges is an XDR NestedUnion defines as:
union switch (SCPStatementType type)
{
case SCP_ST_PREPARE:
struct
{
Hash quorumSetHash; // D
SCPBallot ballot; // b
SCPBallot* prepared; // p
SCPBallot* preparedPrime; // p'
uint32 nC; // c.n
uint32 nH; // h.n
} prepare;
case SCP_ST_CONFIRM:
struct
{
SCPBallot ballot; // b
uint32 nPrepared; // p.n
uint32 nCommit; // c.n
uint32 nH; // h.n
Hash quorumSetHash; // D
} confirm;
case SCP_ST_EXTERNALIZE:
struct
{
SCPBallot commit; // c
uint32 nH; // h.n
Hash commitQuorumSetHash; // D used before EXTERNALIZE
} externalize;
case SCP_ST_NOMINATE:
SCPNomination nominate;
}
Variants§
Prepare(ScpStatementPrepare)
Confirm(ScpStatementConfirm)
Externalize(ScpStatementExternalize)
Nominate(ScpNomination)
Implementations§
§impl ScpStatementPledges
impl ScpStatementPledges
pub const VARIANTS: [ScpStatementType; 4] = _
pub const VARIANTS_STR: [&'static str; 4] = _
pub const fn name(&self) -> &'static str
pub const fn discriminant(&self) -> ScpStatementType
pub const fn variants() -> [ScpStatementType; 4]
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for ScpStatementPledges
impl<'arbitrary> Arbitrary<'arbitrary> for ScpStatementPledges
§fn arbitrary(
u: &mut Unstructured<'arbitrary>
) -> Result<ScpStatementPledges, Error>
fn arbitrary( u: &mut Unstructured<'arbitrary> ) -> Result<ScpStatementPledges, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<ScpStatementPledges, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary> ) -> Result<ScpStatementPledges, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read more§impl Clone for ScpStatementPledges
impl Clone for ScpStatementPledges
§fn clone(&self) -> ScpStatementPledges
fn clone(&self) -> ScpStatementPledges
Returns a copy 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 more§impl Debug for ScpStatementPledges
impl Debug for ScpStatementPledges
§impl<'de> Deserialize<'de> for ScpStatementPledges
impl<'de> Deserialize<'de> for ScpStatementPledges
§fn deserialize<__D>(
__deserializer: __D
) -> Result<ScpStatementPledges, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ScpStatementPledges, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Discriminant<ScpStatementType> for ScpStatementPledges
impl Discriminant<ScpStatementType> for ScpStatementPledges
fn discriminant(&self) -> ScpStatementType
§impl Hash for ScpStatementPledges
impl Hash for ScpStatementPledges
§impl Ord for ScpStatementPledges
impl Ord for ScpStatementPledges
§fn cmp(&self, other: &ScpStatementPledges) -> Ordering
fn cmp(&self, other: &ScpStatementPledges) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
§impl PartialEq for ScpStatementPledges
impl PartialEq for ScpStatementPledges
§fn eq(&self, other: &ScpStatementPledges) -> bool
fn eq(&self, other: &ScpStatementPledges) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for ScpStatementPledges
impl PartialOrd for ScpStatementPledges
§fn partial_cmp(&self, other: &ScpStatementPledges) -> Option<Ordering>
fn partial_cmp(&self, other: &ScpStatementPledges) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more§impl ReadXdr for ScpStatementPledges
impl ReadXdr for ScpStatementPledges
§fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScpStatementPledges, Error>where
R: Read,
fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScpStatementPledges, Error>where
R: Read,
Read the XDR and construct the type. Read more
§fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
§fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Read the XDR and construct the type, and consider it an error if the
read does not completely consume the read implementation. Read more
§fn read_xdr_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
§fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
Read the XDR and construct the type. Read more
§fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
Read the XDR into the existing value, and consider it an error if the
read does not completely consume the read implementation. Read more
§fn read_xdr_iter<R>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
fn read_xdr_iter<R>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type. Read more
§fn read_xdr_base64_iter<R>(
r: &mut Limited<R>
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
fn read_xdr_base64_iter<R>(
r: &mut Limited<R>
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type.
§impl Serialize for ScpStatementPledges
impl Serialize for ScpStatementPledges
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
§impl Variants<ScpStatementType> for ScpStatementPledges
impl Variants<ScpStatementType> for ScpStatementPledges
fn variants() -> Iter<'static, ScpStatementType>
§impl WriteXdr for ScpStatementPledges
impl WriteXdr for ScpStatementPledges
impl Eq for ScpStatementPledges
impl StructuralEq for ScpStatementPledges
impl StructuralPartialEq for ScpStatementPledges
impl Union<ScpStatementType> for ScpStatementPledges
Auto Trait Implementations§
impl RefUnwindSafe for ScpStatementPledges
impl Send for ScpStatementPledges
impl Sync for ScpStatementPledges
impl Unpin for ScpStatementPledges
impl UnwindSafe for ScpStatementPledges
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
§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W) ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X) ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.