Struct soroban_env_host::xdr::PreconditionsV2
pub struct PreconditionsV2 {
pub time_bounds: Option<TimeBounds>,
pub ledger_bounds: Option<LedgerBounds>,
pub min_seq_num: Option<SequenceNumber>,
pub min_seq_age: Duration,
pub min_seq_ledger_gap: u32,
pub extra_signers: VecM<SignerKey, 2>,
}
Expand description
PreconditionsV2 is an XDR Struct defines as:
struct PreconditionsV2
{
TimeBounds* timeBounds;
// Transaction only valid for ledger numbers n such that
// minLedger <= n < maxLedger (if maxLedger == 0, then
// only minLedger is checked)
LedgerBounds* ledgerBounds;
// If NULL, only valid when sourceAccount's sequence number
// is seqNum - 1. Otherwise, valid when sourceAccount's
// sequence number n satisfies minSeqNum <= n < tx.seqNum.
// Note that after execution the account's sequence number
// is always raised to tx.seqNum, and a transaction is not
// valid if tx.seqNum is too high to ensure replay protection.
SequenceNumber* minSeqNum;
// For the transaction to be valid, the current ledger time must
// be at least minSeqAge greater than sourceAccount's seqTime.
Duration minSeqAge;
// For the transaction to be valid, the current ledger number
// must be at least minSeqLedgerGap greater than sourceAccount's
// seqLedger.
uint32 minSeqLedgerGap;
// For the transaction to be valid, there must be a signature
// corresponding to every Signer in this array, even if the
// signature is not otherwise required by the sourceAccount or
// operations.
SignerKey extraSigners<2>;
};
Fields§
§time_bounds: Option<TimeBounds>
§ledger_bounds: Option<LedgerBounds>
§min_seq_num: Option<SequenceNumber>
§min_seq_age: Duration
§min_seq_ledger_gap: u32
§extra_signers: VecM<SignerKey, 2>
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for PreconditionsV2
impl<'arbitrary> Arbitrary<'arbitrary> for PreconditionsV2
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<PreconditionsV2, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<PreconditionsV2, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<PreconditionsV2, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary> ) -> Result<PreconditionsV2, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read more§impl Clone for PreconditionsV2
impl Clone for PreconditionsV2
§fn clone(&self) -> PreconditionsV2
fn clone(&self) -> PreconditionsV2
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 PreconditionsV2
impl Debug for PreconditionsV2
§impl Hash for PreconditionsV2
impl Hash for PreconditionsV2
§impl Ord for PreconditionsV2
impl Ord for PreconditionsV2
§impl PartialEq for PreconditionsV2
impl PartialEq for PreconditionsV2
§fn eq(&self, other: &PreconditionsV2) -> bool
fn eq(&self, other: &PreconditionsV2) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for PreconditionsV2
impl PartialOrd for PreconditionsV2
§fn partial_cmp(&self, other: &PreconditionsV2) -> Option<Ordering>
fn partial_cmp(&self, other: &PreconditionsV2) -> 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 PreconditionsV2
impl ReadXdr for PreconditionsV2
§fn read_xdr<R>(r: &mut Limited<R>) -> Result<PreconditionsV2, Error>where
R: Read,
fn read_xdr<R>(r: &mut Limited<R>) -> Result<PreconditionsV2, 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 WriteXdr for PreconditionsV2
impl WriteXdr for PreconditionsV2
impl Eq for PreconditionsV2
impl StructuralEq for PreconditionsV2
impl StructuralPartialEq for PreconditionsV2
Auto Trait Implementations§
impl RefUnwindSafe for PreconditionsV2
impl Send for PreconditionsV2
impl Sync for PreconditionsV2
impl Unpin for PreconditionsV2
impl UnwindSafe for PreconditionsV2
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, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
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>
source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
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.