Enum soroban_env_guest::xdr::ScVal
pub enum ScVal {
Show 22 variants
Bool(bool),
Void,
Error(ScError),
U32(u32),
I32(i32),
U64(u64),
I64(i64),
Timepoint(TimePoint),
Duration(Duration),
U128(UInt128Parts),
I128(Int128Parts),
U256(UInt256Parts),
I256(Int256Parts),
Bytes(ScBytes),
String(ScString),
Symbol(ScSymbol),
Vec(Option<ScVec>),
Map(Option<ScMap>),
Address(ScAddress),
LedgerKeyContractInstance,
LedgerKeyNonce(ScNonceKey),
ContractInstance(ScContractInstance),
}
Expand description
ScVal is an XDR Union defines as:
union SCVal switch (SCValType type)
{
case SCV_BOOL:
bool b;
case SCV_VOID:
void;
case SCV_ERROR:
SCError error;
case SCV_U32:
uint32 u32;
case SCV_I32:
int32 i32;
case SCV_U64:
uint64 u64;
case SCV_I64:
int64 i64;
case SCV_TIMEPOINT:
TimePoint timepoint;
case SCV_DURATION:
Duration duration;
case SCV_U128:
UInt128Parts u128;
case SCV_I128:
Int128Parts i128;
case SCV_U256:
UInt256Parts u256;
case SCV_I256:
Int256Parts i256;
case SCV_BYTES:
SCBytes bytes;
case SCV_STRING:
SCString str;
case SCV_SYMBOL:
SCSymbol sym;
// Vec and Map are recursive so need to live
// behind an option, due to xdrpp limitations.
case SCV_VEC:
SCVec *vec;
case SCV_MAP:
SCMap *map;
case SCV_ADDRESS:
SCAddress address;
// Special SCVals reserved for system-constructed contract-data
// ledger keys, not generally usable elsewhere.
case SCV_LEDGER_KEY_CONTRACT_INSTANCE:
void;
case SCV_LEDGER_KEY_NONCE:
SCNonceKey nonce_key;
case SCV_CONTRACT_INSTANCE:
SCContractInstance instance;
};
Variants§
Bool(bool)
Void
Error(ScError)
U32(u32)
I32(i32)
U64(u64)
I64(i64)
Timepoint(TimePoint)
Duration(Duration)
U128(UInt128Parts)
I128(Int128Parts)
U256(UInt256Parts)
I256(Int256Parts)
Bytes(ScBytes)
String(ScString)
Symbol(ScSymbol)
Vec(Option<ScVec>)
Map(Option<ScMap>)
Address(ScAddress)
LedgerKeyContractInstance
LedgerKeyNonce(ScNonceKey)
ContractInstance(ScContractInstance)
Implementations§
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for ScVal
impl<'arbitrary> Arbitrary<'arbitrary> for ScVal
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<ScVal, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<ScVal, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<ScVal, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<ScVal, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moresource§impl<'a> AsRef<ScVal> for ScValObjRef<'a>
impl<'a> AsRef<ScVal> for ScValObjRef<'a>
source§impl AsRef<ScVal> for ScValObject
impl AsRef<ScVal> for ScValObject
§impl Discriminant<ScValType> for ScVal
impl Discriminant<ScValType> for ScVal
fn discriminant(&self) -> ScValType
source§impl<'a> From<ScValObjRef<'a>> for &'a ScVal
impl<'a> From<ScValObjRef<'a>> for &'a ScVal
source§fn from(val: ScValObjRef<'a>) -> &'a ScVal
fn from(val: ScValObjRef<'a>) -> &'a ScVal
Converts to this type from the input type.
source§impl From<ScValObject> for ScVal
impl From<ScValObject> for ScVal
source§fn from(value: ScValObject) -> ScVal
fn from(value: ScValObject) -> ScVal
Converts to this type from the input type.
§impl Ord for ScVal
impl Ord for ScVal
§impl PartialOrd for ScVal
impl PartialOrd for ScVal
§fn partial_cmp(&self, other: &ScVal) -> Option<Ordering>
fn partial_cmp(&self, other: &ScVal) -> 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 ScVal
impl ReadXdr for ScVal
§fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScVal, Error>where
R: Read,
fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScVal, Error>where
R: Read,
Read the XDR and construct the type. 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_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
§impl<T0, T1, T2> TryFrom<&(T0, T1, T2)> for ScVal
impl<T0, T1, T2> TryFrom<&(T0, T1, T2)> for ScVal
§impl<T0, T1, T2, T3> TryFrom<&(T0, T1, T2, T3)> for ScVal
impl<T0, T1, T2, T3> TryFrom<&(T0, T1, T2, T3)> for ScVal
§impl<T0, T1, T2, T3, T4> TryFrom<&(T0, T1, T2, T3, T4)> for ScVal
impl<T0, T1, T2, T3, T4> TryFrom<&(T0, T1, T2, T3, T4)> for ScVal
§impl<T0, T1, T2, T3, T4, T5> TryFrom<&(T0, T1, T2, T3, T4, T5)> for ScVal
impl<T0, T1, T2, T3, T4, T5> TryFrom<&(T0, T1, T2, T3, T4, T5)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<&(T0, T1, T2, T3, T4, T5, T6)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<&(T0, T1, T2, T3, T4, T5, T6)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
T11: TryInto<ScVal> + Clone,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
T11: TryInto<ScVal> + Clone,
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
T11: TryInto<ScVal> + Clone,
T12: TryInto<ScVal> + Clone,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for ScValwhere
T0: TryInto<ScVal> + Clone,
T1: TryInto<ScVal> + Clone,
T2: TryInto<ScVal> + Clone,
T3: TryInto<ScVal> + Clone,
T4: TryInto<ScVal> + Clone,
T5: TryInto<ScVal> + Clone,
T6: TryInto<ScVal> + Clone,
T7: TryInto<ScVal> + Clone,
T8: TryInto<ScVal> + Clone,
T9: TryInto<ScVal> + Clone,
T10: TryInto<ScVal> + Clone,
T11: TryInto<ScVal> + Clone,
T12: TryInto<ScVal> + Clone,
source§impl TryFrom<&DurationSmall> for ScVal
impl TryFrom<&DurationSmall> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(value: &DurationSmall) -> Result<ScVal, ConversionError>
fn try_from(value: &DurationSmall) -> Result<ScVal, ConversionError>
Performs the conversion.
source§impl TryFrom<&I256Small> for ScVal
impl TryFrom<&I256Small> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§impl TryFrom<&TimepointSmall> for ScVal
impl TryFrom<&TimepointSmall> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(value: &TimepointSmall) -> Result<ScVal, ConversionError>
fn try_from(value: &TimepointSmall) -> Result<ScVal, ConversionError>
Performs the conversion.
source§impl TryFrom<&U256Small> for ScVal
impl TryFrom<&U256Small> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
§impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal
impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal
§impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal
impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal
§impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal
impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal
§impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal
impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScVal
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for ScVal
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for ScVal
source§impl TryFrom<DurationSmall> for ScVal
impl TryFrom<DurationSmall> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(value: DurationSmall) -> Result<ScVal, ConversionError>
fn try_from(value: DurationSmall) -> Result<ScVal, ConversionError>
Performs the conversion.
source§impl TryFrom<I256Small> for ScVal
impl TryFrom<I256Small> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§impl TryFrom<TimepointSmall> for ScVal
impl TryFrom<TimepointSmall> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(value: TimepointSmall) -> Result<ScVal, ConversionError>
fn try_from(value: TimepointSmall) -> Result<ScVal, ConversionError>
Performs the conversion.
source§impl TryFrom<U256Small> for ScVal
impl TryFrom<U256Small> for ScVal
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
impl Eq for ScVal
impl StructuralEq for ScVal
impl StructuralPartialEq for ScVal
impl Union<ScValType> for ScVal
Auto Trait Implementations§
impl RefUnwindSafe for ScVal
impl Send for ScVal
impl Sync for ScVal
impl Unpin for ScVal
impl UnwindSafe for ScVal
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