Struct linera_base::identifiers::BytecodeId
source · pub struct BytecodeId<Abi = (), Parameters = (), InstantiationArgument = ()> {
pub contract_blob_hash: CryptoHash,
pub service_blob_hash: CryptoHash,
pub vm_runtime: VmRuntime,
/* private fields */
}
Expand description
A unique identifier for an application bytecode.
Fields§
§contract_blob_hash: CryptoHash
The hash of the blob containing the contract bytecode.
service_blob_hash: CryptoHash
The hash of the blob containing the service bytecode.
vm_runtime: VmRuntime
The virtual machine being used.
Implementations§
source§impl BytecodeId
impl BytecodeId
sourcepub fn new(
contract_blob_hash: CryptoHash,
service_blob_hash: CryptoHash,
vm_runtime: VmRuntime,
) -> Self
pub fn new( contract_blob_hash: CryptoHash, service_blob_hash: CryptoHash, vm_runtime: VmRuntime, ) -> Self
Creates a bytecode ID from contract/service hashes and the VM runtime to use.
sourcepub fn with_abi<Abi, Parameters, InstantiationArgument>(
self,
) -> BytecodeId<Abi, Parameters, InstantiationArgument>
pub fn with_abi<Abi, Parameters, InstantiationArgument>( self, ) -> BytecodeId<Abi, Parameters, InstantiationArgument>
Specializes a bytecode ID for a given ABI.
source§impl<Abi, Parameters, InstantiationArgument> BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> BytecodeId<Abi, Parameters, InstantiationArgument>
sourcepub fn forget_abi(self) -> BytecodeId
pub fn forget_abi(self) -> BytecodeId
Forgets the ABI of a bytecode ID (if any).
sourcepub fn just_abi(self) -> BytecodeId<Abi>
pub fn just_abi(self) -> BytecodeId<Abi>
Leaves just the ABI of a bytecode ID (if any).
Trait Implementations§
source§impl<Abi, Parameters, InstantiationArgument> Arbitrary for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Arbitrary for BytecodeId<Abi, Parameters, InstantiationArgument>
§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = BoxedStrategy<BytecodeId<Abi, Parameters, InstantiationArgument>>
type Strategy = BoxedStrategy<BytecodeId<Abi, Parameters, InstantiationArgument>>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
source§impl<Abi, Parameters, InstantiationArgument> Clone for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Clone for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl<Abi, Parameters, InstantiationArgument> Debug for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Debug for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl<Abi: Default, Parameters: Default, InstantiationArgument: Default> Default for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi: Default, Parameters: Default, InstantiationArgument: Default> Default for BytecodeId<Abi, Parameters, InstantiationArgument>
source§fn default() -> BytecodeId<Abi, Parameters, InstantiationArgument>
fn default() -> BytecodeId<Abi, Parameters, InstantiationArgument>
Returns the “default value” for a type. Read more
source§impl<'de, Abi, Parameters, InstantiationArgument> Deserialize<'de> for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<'de, Abi, Parameters, InstantiationArgument> Deserialize<'de> for BytecodeId<Abi, Parameters, InstantiationArgument>
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 BytecodeId
impl Display for BytecodeId
source§impl FromStr for BytecodeId
impl FromStr for BytecodeId
source§impl<Abi, Parameters, InstantiationArgument> Hash for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Hash for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl InputType for BytecodeId
impl InputType for BytecodeId
§type RawValueType = BytecodeId
type RawValueType = BytecodeId
The raw type used for validator. Read more
source§fn create_type_info(registry: &mut Registry) -> String
fn create_type_info(registry: &mut Registry) -> String
Create type information in the registry and return qualified typename.
source§fn parse(value: Option<Value>) -> InputValueResult<Self>
fn parse(value: Option<Value>) -> InputValueResult<Self>
Parse from
Value
. None represents undefined.source§fn as_raw_value(&self) -> Option<&Self::RawValueType>
fn as_raw_value(&self) -> Option<&Self::RawValueType>
Returns a reference to the raw value.
source§fn qualified_type_name() -> String
fn qualified_type_name() -> String
Qualified typename.
source§impl<Abi, Parameters, InstantiationArgument> Ord for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Ord for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl OutputType for BytecodeId
impl OutputType for BytecodeId
source§fn create_type_info(registry: &mut Registry) -> String
fn create_type_info(registry: &mut Registry) -> String
Create type information in the registry and return qualified typename.
source§async fn resolve(
&self,
_: &ContextSelectionSet<'_>,
_field: &Positioned<Field>,
) -> ServerResult<Value>
async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>
Resolve an output value to
async_graphql::Value
.source§fn qualified_type_name() -> String
fn qualified_type_name() -> String
Qualified typename.
source§impl<Abi, Parameters, InstantiationArgument> PartialEq for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> PartialEq for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl<Abi, Parameters, InstantiationArgument> PartialOrd for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> PartialOrd for BytecodeId<Abi, Parameters, InstantiationArgument>
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 ScalarType for BytecodeId
impl ScalarType for BytecodeId
source§impl<Abi, Parameters, InstantiationArgument> Serialize for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Serialize for BytecodeId<Abi, Parameters, InstantiationArgument>
source§impl<Abi, Parameters, InstantiationArgument> WitLoad for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> WitLoad for BytecodeId<Abi, Parameters, InstantiationArgument>
source§fn load<Instance>(
memory: &Memory<'_, Instance>,
location: GuestPointer,
) -> Result<Self, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn load<Instance>(
memory: &Memory<'_, Instance>,
location: GuestPointer,
) -> Result<Self, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Loads an instance of the type from the
location
in the guest’s memory
.source§fn lift_from<Instance>(
flat_layout: <Self::Layout as Layout>::Flat,
memory: &Memory<'_, Instance>,
) -> Result<Self, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn lift_from<Instance>(
flat_layout: <Self::Layout as Layout>::Flat,
memory: &Memory<'_, Instance>,
) -> Result<Self, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Lifts an instance of the type from the
flat_layout
representation. Read moresource§impl<Abi, Parameters, InstantiationArgument> WitStore for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> WitStore for BytecodeId<Abi, Parameters, InstantiationArgument>
source§fn store<Instance>(
&self,
memory: &mut Memory<'_, Instance>,
location: GuestPointer,
) -> Result<(), RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn store<Instance>(
&self,
memory: &mut Memory<'_, Instance>,
location: GuestPointer,
) -> Result<(), RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Stores the type at the
location
in the guest’s memory
.source§fn lower<Instance>(
&self,
memory: &mut Memory<'_, Instance>,
) -> Result<<Self::Layout as Layout>::Flat, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn lower<Instance>(
&self,
memory: &mut Memory<'_, Instance>,
) -> Result<<Self::Layout as Layout>::Flat, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Lowers the type into its flat layout representation. Read more
source§impl<Abi, Parameters, InstantiationArgument> WitType for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> WitType for BytecodeId<Abi, Parameters, InstantiationArgument>
§type Layout = <HCons<CryptoHash, HCons<CryptoHash, HCons<VmRuntime, HNil>>> as WitType>::Layout
type Layout = <HCons<CryptoHash, HCons<CryptoHash, HCons<VmRuntime, HNil>>> as WitType>::Layout
The layout of the type as fundamental types.
§type Dependencies = HCons<CryptoHash, HCons<CryptoHash, HCons<VmRuntime, HNil>>>
type Dependencies = HCons<CryptoHash, HCons<CryptoHash, HCons<VmRuntime, HNil>>>
Other
WitType
s that this type depends on.source§fn wit_type_name() -> Cow<'static, str>
fn wit_type_name() -> Cow<'static, str>
Generates the WIT type name for this type.
source§fn wit_type_declaration() -> Cow<'static, str>
fn wit_type_declaration() -> Cow<'static, str>
Generates the WIT type declaration for this type.
impl<Abi, Parameters, InstantiationArgument> Copy for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Eq for BytecodeId<Abi, Parameters, InstantiationArgument>
Auto Trait Implementations§
impl<Abi, Parameters, InstantiationArgument> Freeze for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> RefUnwindSafe for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Send for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Sync for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> Unpin for BytecodeId<Abi, Parameters, InstantiationArgument>
impl<Abi, Parameters, InstantiationArgument> UnwindSafe for BytecodeId<Abi, Parameters, InstantiationArgument>
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
source§impl<T> CallHasher for T
impl<T> CallHasher for T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
source§impl<T> MockResults for T
impl<T> MockResults for T
§type Results = T
type Results = T
The mock native type of the results for the
MockInstance
.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length
bytes from memory from the provided location
.
source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes
to memory at the provided location
.
source§impl<T> Upcastable for T
impl<T> Upcastable for T
source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref