pub struct InvokeHostFunctionSimulationResult {
pub invoke_result: Result<ScVal, ScVal>,
pub auth: Vec<SorobanAuthorizationEntry>,
pub contract_events: Vec<ContractEvent>,
pub diagnostic_events: Vec<DiagnosticEvent>,
pub transaction_data: Option<SorobanTransactionData>,
pub simulated_instructions: u32,
pub simulated_memory: u32,
pub modified_entries: Vec<LedgerEntryDiff>,
}
Expand description
Result of simulating InvokeHostFunctionOp
operation.
Fields§
§invoke_result: Result<ScVal, ScVal>
Result value of the invoked function or error returned for invocation.
auth: Vec<SorobanAuthorizationEntry>
Authorization data, either passed through from the call (when provided), or recorded during the invocation.
contract_events: Vec<ContractEvent>
All the events that contracts emitted during invocation. Empty for failed invocations.
diagnostic_events: Vec<DiagnosticEvent>
Diagnostic events recorded during simulation. This is populated when diagnostics is enabled and even when the invocation fails.
transaction_data: Option<SorobanTransactionData>
Soroban transaction extension containing simulated resources and
the estimated resource fee.
None
for failed invocations.
simulated_instructions: u32
The number of CPU instructions metered during the simulation,
without any adjustments applied.
This is expected to not match transaction_data
in case if
instructions are adjusted via SimulationAdjustmentConfig
.
simulated_memory: u32
The number of memory bytes metered during the simulation, without any adjustments applied.
modified_entries: Vec<LedgerEntryDiff>
Differences for any RW entries that have been modified during the transaction execution. Empty for failed invocations.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InvokeHostFunctionSimulationResult
impl RefUnwindSafe for InvokeHostFunctionSimulationResult
impl Send for InvokeHostFunctionSimulationResult
impl Sync for InvokeHostFunctionSimulationResult
impl Unpin for InvokeHostFunctionSimulationResult
impl UnwindSafe for InvokeHostFunctionSimulationResult
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
source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.