#[repr(i32)]pub enum ScValType {
Show 22 variants
Bool = 0,
Void = 1,
Error = 2,
U32 = 3,
I32 = 4,
U64 = 5,
I64 = 6,
Timepoint = 7,
Duration = 8,
U128 = 9,
I128 = 10,
U256 = 11,
I256 = 12,
Bytes = 13,
String = 14,
Symbol = 15,
Vec = 16,
Map = 17,
Address = 18,
ContractInstance = 19,
LedgerKeyContractInstance = 20,
LedgerKeyNonce = 21,
}
Available on crate feature
curr
only.Expand description
ScValType is an XDR Enum defines as:
enum SCValType
{
SCV_BOOL = 0,
SCV_VOID = 1,
SCV_ERROR = 2,
// 32 bits is the smallest type in WASM or XDR; no need for u8/u16.
SCV_U32 = 3,
SCV_I32 = 4,
// 64 bits is naturally supported by both WASM and XDR also.
SCV_U64 = 5,
SCV_I64 = 6,
// Time-related u64 subtypes with their own functions and formatting.
SCV_TIMEPOINT = 7,
SCV_DURATION = 8,
// 128 bits is naturally supported by Rust and we use it for Soroban
// fixed-point arithmetic prices / balances / similar "quantities". These
// are represented in XDR as a pair of 2 u64s.
SCV_U128 = 9,
SCV_I128 = 10,
// 256 bits is the size of sha256 output, ed25519 keys, and the EVM machine
// word, so for interop use we include this even though it requires a small
// amount of Rust guest and/or host library code.
SCV_U256 = 11,
SCV_I256 = 12,
// Bytes come in 3 flavors, 2 of which have meaningfully different
// formatting and validity-checking / domain-restriction.
SCV_BYTES = 13,
SCV_STRING = 14,
SCV_SYMBOL = 15,
// Vecs and maps are just polymorphic containers of other ScVals.
SCV_VEC = 16,
SCV_MAP = 17,
// Address is the universal identifier for contracts and classic
// accounts.
SCV_ADDRESS = 18,
// The following are the internal SCVal variants that are not
// exposed to the contracts.
SCV_CONTRACT_INSTANCE = 19,
// SCV_LEDGER_KEY_CONTRACT_INSTANCE and SCV_LEDGER_KEY_NONCE are unique
// symbolic SCVals used as the key for ledger entries for a contract's
// instance and an address' nonce, respectively.
SCV_LEDGER_KEY_CONTRACT_INSTANCE = 20,
SCV_LEDGER_KEY_NONCE = 21
};
Variants§
Bool = 0
Void = 1
Error = 2
U32 = 3
I32 = 4
U64 = 5
I64 = 6
Timepoint = 7
Duration = 8
U128 = 9
I128 = 10
U256 = 11
I256 = 12
Bytes = 13
String = 14
Symbol = 15
Vec = 16
Map = 17
Address = 18
ContractInstance = 19
LedgerKeyContractInstance = 20
LedgerKeyNonce = 21
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for ScValType
impl<'arbitrary> Arbitrary<'arbitrary> for ScValType
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moreSource§impl<'de> Deserialize<'de> for ScValType
impl<'de> Deserialize<'de> for ScValType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Discriminant<ScValType> for ScVal
impl Discriminant<ScValType> for ScVal
fn discriminant(&self) -> ScValType
Source§impl JsonSchema for ScValType
impl JsonSchema for ScValType
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreSource§impl Ord for ScValType
impl Ord for ScValType
Source§impl PartialOrd for ScValType
impl PartialOrd for ScValType
Source§impl ReadXdr for ScValType
impl ReadXdr for ScValType
Source§fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
Available on crate feature
std
only.Read the XDR and construct the type. Read more
Source§fn read_xdr_base64<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
fn read_xdr_base64<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
Available on crate feature
base64
only.Construct the type from the XDR bytes base64 encoded. Read more
Source§fn read_xdr_to_end<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
fn read_xdr_to_end<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
Available on crate feature
std
only.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_base64_to_end<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
fn read_xdr_base64_to_end<R: Read>(r: &mut Limited<R>) -> Result<Self, Error>
Available on crate feature
base64
only.Construct the type from the XDR bytes base64 encoded. Read more
Source§fn read_xdr_into<R: Read>(&mut self, r: &mut Limited<R>) -> Result<(), Error>
fn read_xdr_into<R: Read>(&mut self, r: &mut Limited<R>) -> Result<(), Error>
Available on crate feature
std
only.Read the XDR and construct the type. Read more
Source§fn read_xdr_into_to_end<R: Read>(
&mut self,
r: &mut Limited<R>,
) -> Result<(), Error>
fn read_xdr_into_to_end<R: Read>( &mut self, r: &mut Limited<R>, ) -> Result<(), Error>
Available on crate feature
std
only.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: Read>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘ
fn read_xdr_iter<R: Read>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘ
Available on crate feature
std
only.Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type. Read more
Source§fn read_xdr_base64_iter<R: Read>(
r: &mut Limited<R>,
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘ
fn read_xdr_base64_iter<R: Read>( r: &mut Limited<R>, ) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘ
Available on crate feature
base64
only.Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type.
Source§impl WriteXdr for ScValType
impl WriteXdr for ScValType
impl Copy for ScValType
impl Enum for ScValType
impl Eq for ScValType
impl StructuralPartialEq for ScValType
impl Union<ScValType> for ScVal
Auto Trait Implementations§
impl Freeze for ScValType
impl RefUnwindSafe for ScValType
impl Send for ScValType
impl Sync for ScValType
impl Unpin for ScValType
impl UnwindSafe for ScValType
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