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),
ContractInstance(ScContractInstance),
LedgerKeyContractInstance,
LedgerKeyNonce(ScNonceKey),
}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_CONTRACT_INSTANCE:
SCContractInstance instance;
case SCV_LEDGER_KEY_CONTRACT_INSTANCE:
void;
case SCV_LEDGER_KEY_NONCE:
SCNonceKey nonce_key;
};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)
ContractInstance(ScContractInstance)
LedgerKeyContractInstance
LedgerKeyNonce(ScNonceKey)
Implementations§
Trait Implementations§
Source§impl Discriminant<ScValType> for ScVal
impl Discriminant<ScValType> for ScVal
fn discriminant(&self) -> ScValType
Source§impl Ord for ScVal
impl Ord for ScVal
Source§impl PartialOrd for ScVal
impl PartialOrd for ScVal
Source§impl ReadXdr for ScVal
impl ReadXdr for ScVal
Source§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
Source§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
Source§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
Source§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
Source§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
Source§impl<T0, T1, T2> TryFrom<&(T0, T1, T2)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2> TryFrom<&(T0, T1, T2)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3> TryFrom<&(T0, T1, T2, T3)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3> TryFrom<&(T0, T1, T2, T3)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4> TryFrom<&(T0, T1, T2, T3, T4)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4> TryFrom<&(T0, T1, T2, T3, T4)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5> TryFrom<&(T0, T1, T2, T3, T4, T5)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5> TryFrom<&(T0, T1, T2, T3, T4, T5)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<&(T0, T1, T2, T3, T4, T5, T6)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<&(T0, T1, T2, T3, T4, T5, T6)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<&(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
Available on crate feature
alloc only.Source§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,
Available on crate feature alloc only.
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,
Available on crate feature
alloc only.Source§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,
Available on crate feature alloc only.
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,
Available on crate feature
alloc only.Source§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,
Available on crate feature alloc only.
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,
Available on crate feature
alloc only.Source§impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal
Available on crate feature
alloc only.Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
Available on crate feature alloc only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal
Available on crate feature
alloc only.Source§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
Available on crate feature alloc only.
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
Available on crate feature
alloc only.Source§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
Available on crate feature alloc only.
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
Available on crate feature
alloc only.Source§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
Available on crate feature alloc only.
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
Available on crate feature
alloc only.impl Eq for ScVal
impl StructuralPartialEq for ScVal
impl Union<ScValType> for ScVal
Auto Trait Implementations§
impl Freeze for ScVal
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