pub struct Code { /* private fields */ }Expand description
Contains instrumented binary code of a program and initial memory size from memory import.
Implementations§
source§impl Code
impl Code
sourcepub fn try_new<R, GetRulesFn>(
raw_code: Vec<u8>,
version: u32,
get_gas_rules: GetRulesFn,
stack_height: Option<u32>
) -> Result<Self, CodeError>where
R: Rules,
GetRulesFn: FnMut(&Module) -> R,
pub fn try_new<R, GetRulesFn>( raw_code: Vec<u8>, version: u32, get_gas_rules: GetRulesFn, stack_height: Option<u32> ) -> Result<Self, CodeError>where R: Rules, GetRulesFn: FnMut(&Module) -> R,
Create the code by checking and instrumenting original_code.
sourcepub fn new_raw(
original_code: Vec<u8>,
version: u32,
module: Option<Module>,
instrument_with_const_rules: bool,
check_entries: bool
) -> Result<Self, CodeError>
pub fn new_raw( original_code: Vec<u8>, version: u32, module: Option<Module>, instrument_with_const_rules: bool, check_entries: bool ) -> Result<Self, CodeError>
Create the code without instrumentation or instrumented
with ConstantCostRules. There is also no check for static memory pages.
sourcepub fn new_raw_with_rules<R, GetRulesFn>(
original_code: Vec<u8>,
version: u32,
check_entries: bool,
get_gas_rules: GetRulesFn
) -> Result<Self, CodeError>where
R: Rules,
GetRulesFn: FnMut(&Module) -> R,
pub fn new_raw_with_rules<R, GetRulesFn>( original_code: Vec<u8>, version: u32, check_entries: bool, get_gas_rules: GetRulesFn ) -> Result<Self, CodeError>where R: Rules, GetRulesFn: FnMut(&Module) -> R,
Create the code with instrumentation, but without checks. There is also no check for static memory pages.
sourcepub fn exports(&self) -> &BTreeSet<DispatchKind>
pub fn exports(&self) -> &BTreeSet<DispatchKind>
Returns wasm module exports.
sourcepub fn instruction_weights_version(&self) -> u32
pub fn instruction_weights_version(&self) -> u32
Returns instruction weights version.
sourcepub fn static_pages(&self) -> WasmPage
pub fn static_pages(&self) -> WasmPage
Returns initial memory size from memory import.
sourcepub fn into_parts(self) -> (InstrumentedCode, Vec<u8>)
pub fn into_parts(self) -> (InstrumentedCode, Vec<u8>)
Consumes this instance and returns the instrumented and raw binary codes.
Trait Implementations§
source§impl Decode for Code
impl Decode for Code
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
Attempt to deserialise the value from input.
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§impl Encode for Code
impl Encode for Code
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl PartialEq<Code> for Code
impl PartialEq<Code> for Code
impl EncodeLike<Code> for Code
impl Eq for Code
impl StructuralEq for Code
impl StructuralPartialEq for Code
Auto Trait Implementations§
impl RefUnwindSafe for Code
impl Send for Code
impl Sync for Code
impl Unpin for Code
impl UnwindSafe for Code
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