Enum stellar_xdr::next::ContractCostType
source · #[repr(i32)]pub enum ContractCostType {
Show 23 variants
WasmInsnExec = 0,
MemAlloc = 1,
MemCpy = 2,
MemCmp = 3,
DispatchHostFunction = 4,
VisitObject = 5,
ValSer = 6,
ValDeser = 7,
ComputeSha256Hash = 8,
ComputeEd25519PubKey = 9,
VerifyEd25519Sig = 10,
VmInstantiation = 11,
VmCachedInstantiation = 12,
InvokeVmFunction = 13,
ComputeKeccak256Hash = 14,
ComputeEcdsaSecp256k1Sig = 15,
RecoverEcdsaSecp256k1Key = 16,
Int256AddSub = 17,
Int256Mul = 18,
Int256Div = 19,
Int256Pow = 20,
Int256Shift = 21,
ChaCha20DrawBytes = 22,
}
Available on crate feature
next
only.Expand description
ContractCostType is an XDR Enum defines as:
enum ContractCostType {
// Cost of running 1 wasm instruction
WasmInsnExec = 0,
// Cost of allocating a slice of memory (in bytes)
MemAlloc = 1,
// Cost of copying a slice of bytes into a pre-allocated memory
MemCpy = 2,
// Cost of comparing two slices of memory
MemCmp = 3,
// Cost of a host function dispatch, not including the actual work done by
// the function nor the cost of VM invocation machinary
DispatchHostFunction = 4,
// Cost of visiting a host object from the host object storage. Exists to
// make sure some baseline cost coverage, i.e. repeatly visiting objects
// by the guest will always incur some charges.
VisitObject = 5,
// Cost of serializing an xdr object to bytes
ValSer = 6,
// Cost of deserializing an xdr object from bytes
ValDeser = 7,
// Cost of computing the sha256 hash from bytes
ComputeSha256Hash = 8,
// Cost of computing the ed25519 pubkey from bytes
ComputeEd25519PubKey = 9,
// Cost of verifying ed25519 signature of a payload.
VerifyEd25519Sig = 10,
// Cost of instantiation a VM from wasm bytes code.
VmInstantiation = 11,
// Cost of instantiation a VM from a cached state.
VmCachedInstantiation = 12,
// Cost of invoking a function on the VM. If the function is a host function,
// additional cost will be covered by `DispatchHostFunction`.
InvokeVmFunction = 13,
// Cost of computing a keccak256 hash from bytes.
ComputeKeccak256Hash = 14,
// Cost of computing an ECDSA secp256k1 signature from bytes.
ComputeEcdsaSecp256k1Sig = 15,
// Cost of recovering an ECDSA secp256k1 key from a signature.
RecoverEcdsaSecp256k1Key = 16,
// Cost of int256 addition (`+`) and subtraction (`-`) operations
Int256AddSub = 17,
// Cost of int256 multiplication (`*`) operation
Int256Mul = 18,
// Cost of int256 division (`/`) operation
Int256Div = 19,
// Cost of int256 power (`exp`) operation
Int256Pow = 20,
// Cost of int256 shift (`shl`, `shr`) operation
Int256Shift = 21,
// Cost of drawing random bytes using a ChaCha20 PRNG
ChaCha20DrawBytes = 22
};
Variants§
WasmInsnExec = 0
MemAlloc = 1
MemCpy = 2
MemCmp = 3
DispatchHostFunction = 4
VisitObject = 5
ValSer = 6
ValDeser = 7
ComputeSha256Hash = 8
ComputeEd25519PubKey = 9
VerifyEd25519Sig = 10
VmInstantiation = 11
VmCachedInstantiation = 12
InvokeVmFunction = 13
ComputeKeccak256Hash = 14
ComputeEcdsaSecp256k1Sig = 15
RecoverEcdsaSecp256k1Key = 16
Int256AddSub = 17
Int256Mul = 18
Int256Div = 19
Int256Pow = 20
Int256Shift = 21
ChaCha20DrawBytes = 22
Implementations§
source§impl ContractCostType
impl ContractCostType
pub const VARIANTS: [ContractCostType; 23] = _
pub const VARIANTS_STR: [&'static str; 23] = _
pub const fn name(&self) -> &'static str
pub const fn variants() -> [ContractCostType; 23]
Trait Implementations§
source§impl<'arbitrary> Arbitrary<'arbitrary> for ContractCostType
impl<'arbitrary> Arbitrary<'arbitrary> for ContractCostType
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 Clone for ContractCostType
impl Clone for ContractCostType
source§fn clone(&self) -> ContractCostType
fn clone(&self) -> ContractCostType
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 moresource§impl Debug for ContractCostType
impl Debug for ContractCostType
source§impl<'de> Deserialize<'de> for ContractCostType
impl<'de> Deserialize<'de> for ContractCostType
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 Display for ContractCostType
impl Display for ContractCostType
source§impl From<ContractCostType> for i32
impl From<ContractCostType> for i32
source§fn from(e: ContractCostType) -> Self
fn from(e: ContractCostType) -> Self
Converts to this type from the input type.
source§impl Hash for ContractCostType
impl Hash for ContractCostType
source§impl Ord for ContractCostType
impl Ord for ContractCostType
source§fn cmp(&self, other: &ContractCostType) -> Ordering
fn cmp(&self, other: &ContractCostType) -> 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
source§impl PartialEq for ContractCostType
impl PartialEq for ContractCostType
source§fn eq(&self, other: &ContractCostType) -> bool
fn eq(&self, other: &ContractCostType) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for ContractCostType
impl PartialOrd for ContractCostType
source§fn partial_cmp(&self, other: &ContractCostType) -> Option<Ordering>
fn partial_cmp(&self, other: &ContractCostType) -> 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 moresource§impl ReadXdr for ContractCostType
impl ReadXdr for ContractCostType
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 Serialize for ContractCostType
impl Serialize for ContractCostType
source§impl TryFrom<i32> for ContractCostType
impl TryFrom<i32> for ContractCostType
source§impl Variants<ContractCostType> for ContractCostType
impl Variants<ContractCostType> for ContractCostType
fn variants() -> Iter<'static, ContractCostType>
source§impl WriteXdr for ContractCostType
impl WriteXdr for ContractCostType
impl Copy for ContractCostType
impl Enum for ContractCostType
impl Eq for ContractCostType
impl StructuralEq for ContractCostType
impl StructuralPartialEq for ContractCostType
Auto Trait Implementations§
impl RefUnwindSafe for ContractCostType
impl Send for ContractCostType
impl Sync for ContractCostType
impl Unpin for ContractCostType
impl UnwindSafe for ContractCostType
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