pub struct InvokeHostFunctionResult {
pub encoded_invoke_result: Result<Vec<u8>, HostError>,
pub ledger_changes: Vec<LedgerEntryChange>,
pub encoded_contract_events: Vec<Vec<u8>>,
}
Expand description
Result of invoking a single host function prepared for embedder consumption.
Fields§
§encoded_invoke_result: Result<Vec<u8>, HostError>
Result value of the function, encoded ScVal
XDR on success, or error.
ledger_changes: Vec<LedgerEntryChange>
All the ledger changes caused by this invocation, including no-ops. This contains an entry for every item in the input footprint, even if it wasn’t modified at all.
Read-only entry can only have their live until ledger increased. Read-write entries can be modified arbitrarily or removed.
Empty when invocation fails.
encoded_contract_events: Vec<Vec<u8>>
All the events that contracts emitted during invocation, encoded as
ContractEvent
XDR.
Empty when invocation fails.
Auto Trait Implementations§
impl Freeze for InvokeHostFunctionResult
impl RefUnwindSafe for InvokeHostFunctionResult
impl Send for InvokeHostFunctionResult
impl Sync for InvokeHostFunctionResult
impl Unpin for InvokeHostFunctionResult
impl UnwindSafe for InvokeHostFunctionResult
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
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.