#[repr(i32)]pub enum ContractCostType {
Show 70 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,
DecodeEcdsaCurve256Sig = 15,
RecoverEcdsaSecp256k1Key = 16,
Int256AddSub = 17,
Int256Mul = 18,
Int256Div = 19,
Int256Pow = 20,
Int256Shift = 21,
ChaCha20DrawBytes = 22,
ParseWasmInstructions = 23,
ParseWasmFunctions = 24,
ParseWasmGlobals = 25,
ParseWasmTableEntries = 26,
ParseWasmTypes = 27,
ParseWasmDataSegments = 28,
ParseWasmElemSegments = 29,
ParseWasmImports = 30,
ParseWasmExports = 31,
ParseWasmDataSegmentBytes = 32,
InstantiateWasmInstructions = 33,
InstantiateWasmFunctions = 34,
InstantiateWasmGlobals = 35,
InstantiateWasmTableEntries = 36,
InstantiateWasmTypes = 37,
InstantiateWasmDataSegments = 38,
InstantiateWasmElemSegments = 39,
InstantiateWasmImports = 40,
InstantiateWasmExports = 41,
InstantiateWasmDataSegmentBytes = 42,
Sec1DecodePointUncompressed = 43,
VerifyEcdsaSecp256r1Sig = 44,
Bls12381EncodeFp = 45,
Bls12381DecodeFp = 46,
Bls12381G1CheckPointOnCurve = 47,
Bls12381G1CheckPointInSubgroup = 48,
Bls12381G2CheckPointOnCurve = 49,
Bls12381G2CheckPointInSubgroup = 50,
Bls12381G1ProjectiveToAffine = 51,
Bls12381G2ProjectiveToAffine = 52,
Bls12381G1Add = 53,
Bls12381G1Mul = 54,
Bls12381G1Msm = 55,
Bls12381MapFpToG1 = 56,
Bls12381HashToG1 = 57,
Bls12381G2Add = 58,
Bls12381G2Mul = 59,
Bls12381G2Msm = 60,
Bls12381MapFp2ToG2 = 61,
Bls12381HashToG2 = 62,
Bls12381Pairing = 63,
Bls12381FrFromU256 = 64,
Bls12381FrToU256 = 65,
Bls12381FrAddSub = 66,
Bls12381FrMul = 67,
Bls12381FrPow = 68,
Bls12381FrInv = 69,
}
Available on crate feature
curr
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 decoding an ECDSA signature computed from a 256-bit prime modulus
// curve (e.g. secp256k1 and secp256r1)
DecodeEcdsaCurve256Sig = 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,
// Cost of parsing wasm bytes that only encode instructions.
ParseWasmInstructions = 23,
// Cost of parsing a known number of wasm functions.
ParseWasmFunctions = 24,
// Cost of parsing a known number of wasm globals.
ParseWasmGlobals = 25,
// Cost of parsing a known number of wasm table entries.
ParseWasmTableEntries = 26,
// Cost of parsing a known number of wasm types.
ParseWasmTypes = 27,
// Cost of parsing a known number of wasm data segments.
ParseWasmDataSegments = 28,
// Cost of parsing a known number of wasm element segments.
ParseWasmElemSegments = 29,
// Cost of parsing a known number of wasm imports.
ParseWasmImports = 30,
// Cost of parsing a known number of wasm exports.
ParseWasmExports = 31,
// Cost of parsing a known number of data segment bytes.
ParseWasmDataSegmentBytes = 32,
// Cost of instantiating wasm bytes that only encode instructions.
InstantiateWasmInstructions = 33,
// Cost of instantiating a known number of wasm functions.
InstantiateWasmFunctions = 34,
// Cost of instantiating a known number of wasm globals.
InstantiateWasmGlobals = 35,
// Cost of instantiating a known number of wasm table entries.
InstantiateWasmTableEntries = 36,
// Cost of instantiating a known number of wasm types.
InstantiateWasmTypes = 37,
// Cost of instantiating a known number of wasm data segments.
InstantiateWasmDataSegments = 38,
// Cost of instantiating a known number of wasm element segments.
InstantiateWasmElemSegments = 39,
// Cost of instantiating a known number of wasm imports.
InstantiateWasmImports = 40,
// Cost of instantiating a known number of wasm exports.
InstantiateWasmExports = 41,
// Cost of instantiating a known number of data segment bytes.
InstantiateWasmDataSegmentBytes = 42,
// Cost of decoding a bytes array representing an uncompressed SEC-1 encoded
// point on a 256-bit elliptic curve
Sec1DecodePointUncompressed = 43,
// Cost of verifying an ECDSA Secp256r1 signature
VerifyEcdsaSecp256r1Sig = 44,
// Cost of encoding a BLS12-381 Fp (base field element)
Bls12381EncodeFp = 45,
// Cost of decoding a BLS12-381 Fp (base field element)
Bls12381DecodeFp = 46,
// Cost of checking a G1 point lies on the curve
Bls12381G1CheckPointOnCurve = 47,
// Cost of checking a G1 point belongs to the correct subgroup
Bls12381G1CheckPointInSubgroup = 48,
// Cost of checking a G2 point lies on the curve
Bls12381G2CheckPointOnCurve = 49,
// Cost of checking a G2 point belongs to the correct subgroup
Bls12381G2CheckPointInSubgroup = 50,
// Cost of converting a BLS12-381 G1 point from projective to affine coordinates
Bls12381G1ProjectiveToAffine = 51,
// Cost of converting a BLS12-381 G2 point from projective to affine coordinates
Bls12381G2ProjectiveToAffine = 52,
// Cost of performing BLS12-381 G1 point addition
Bls12381G1Add = 53,
// Cost of performing BLS12-381 G1 scalar multiplication
Bls12381G1Mul = 54,
// Cost of performing BLS12-381 G1 multi-scalar multiplication (MSM)
Bls12381G1Msm = 55,
// Cost of mapping a BLS12-381 Fp field element to a G1 point
Bls12381MapFpToG1 = 56,
// Cost of hashing to a BLS12-381 G1 point
Bls12381HashToG1 = 57,
// Cost of performing BLS12-381 G2 point addition
Bls12381G2Add = 58,
// Cost of performing BLS12-381 G2 scalar multiplication
Bls12381G2Mul = 59,
// Cost of performing BLS12-381 G2 multi-scalar multiplication (MSM)
Bls12381G2Msm = 60,
// Cost of mapping a BLS12-381 Fp2 field element to a G2 point
Bls12381MapFp2ToG2 = 61,
// Cost of hashing to a BLS12-381 G2 point
Bls12381HashToG2 = 62,
// Cost of performing BLS12-381 pairing operation
Bls12381Pairing = 63,
// Cost of converting a BLS12-381 scalar element from U256
Bls12381FrFromU256 = 64,
// Cost of converting a BLS12-381 scalar element to U256
Bls12381FrToU256 = 65,
// Cost of performing BLS12-381 scalar element addition/subtraction
Bls12381FrAddSub = 66,
// Cost of performing BLS12-381 scalar element multiplication
Bls12381FrMul = 67,
// Cost of performing BLS12-381 scalar element exponentiation
Bls12381FrPow = 68,
// Cost of performing BLS12-381 scalar element inversion
Bls12381FrInv = 69
};
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
DecodeEcdsaCurve256Sig = 15
RecoverEcdsaSecp256k1Key = 16
Int256AddSub = 17
Int256Mul = 18
Int256Div = 19
Int256Pow = 20
Int256Shift = 21
ChaCha20DrawBytes = 22
ParseWasmInstructions = 23
ParseWasmFunctions = 24
ParseWasmGlobals = 25
ParseWasmTableEntries = 26
ParseWasmTypes = 27
ParseWasmDataSegments = 28
ParseWasmElemSegments = 29
ParseWasmImports = 30
ParseWasmExports = 31
ParseWasmDataSegmentBytes = 32
InstantiateWasmInstructions = 33
InstantiateWasmFunctions = 34
InstantiateWasmGlobals = 35
InstantiateWasmTableEntries = 36
InstantiateWasmTypes = 37
InstantiateWasmDataSegments = 38
InstantiateWasmElemSegments = 39
InstantiateWasmImports = 40
InstantiateWasmExports = 41
InstantiateWasmDataSegmentBytes = 42
Sec1DecodePointUncompressed = 43
VerifyEcdsaSecp256r1Sig = 44
Bls12381EncodeFp = 45
Bls12381DecodeFp = 46
Bls12381G1CheckPointOnCurve = 47
Bls12381G1CheckPointInSubgroup = 48
Bls12381G2CheckPointOnCurve = 49
Bls12381G2CheckPointInSubgroup = 50
Bls12381G1ProjectiveToAffine = 51
Bls12381G2ProjectiveToAffine = 52
Bls12381G1Add = 53
Bls12381G1Mul = 54
Bls12381G1Msm = 55
Bls12381MapFpToG1 = 56
Bls12381HashToG1 = 57
Bls12381G2Add = 58
Bls12381G2Mul = 59
Bls12381G2Msm = 60
Bls12381MapFp2ToG2 = 61
Bls12381HashToG2 = 62
Bls12381Pairing = 63
Bls12381FrFromU256 = 64
Bls12381FrToU256 = 65
Bls12381FrAddSub = 66
Bls12381FrMul = 67
Bls12381FrPow = 68
Bls12381FrInv = 69
Implementations§
Source§impl ContractCostType
impl ContractCostType
pub const VARIANTS: [ContractCostType; 70] = _
pub const VARIANTS_STR: [&'static str; 70] = _
pub const fn name(&self) -> &'static str
pub const fn variants() -> [ContractCostType; 70]
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 JsonSchema for ContractCostType
impl JsonSchema for ContractCostType
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 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§impl PartialOrd for ContractCostType
impl PartialOrd for ContractCostType
Source§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 StructuralPartialEq for ContractCostType
Auto Trait Implementations§
impl Freeze for ContractCostType
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