Struct hedera::ContractFunctionResult

source ·
pub struct ContractFunctionResult {
Show 13 fields pub contract_id: ContractId, pub evm_address: Option<ContractId>, pub bytes: Vec<u8>, pub error_message: Option<String>, pub bloom: Vec<u8>, pub gas_used: u64, pub gas: u64, pub hbar_amount: u64, pub contract_function_parameters_bytes: Vec<u8>, pub sender_account_id: Option<AccountId>, pub logs: Vec<ContractLogInfo>, pub contract_nonces: Vec<ContractNonceInfo>, pub signer_nonce: Option<u64>,
}
Expand description

The result returned by a call to a smart contract function.

Fields§

§contract_id: ContractId

The smart contract instance whose function was called.

§evm_address: Option<ContractId>

The new contract’s 20-byte EVM address.

§bytes: Vec<u8>

The raw bytes returned by the function.

§error_message: Option<String>

Message if there was an error during smart contract execution.

§bloom: Vec<u8>

Bloom filter for record.

§gas_used: u64

Units of gas used to execute contract.

§gas: u64

The amount of gas available for the call.

§hbar_amount: u64

Number of HBAR sent (the function must be payable if this is nonzero).

§contract_function_parameters_bytes: Vec<u8>

The parameters passed into the contract call.

§sender_account_id: Option<AccountId>

The account that is the “sender.” If not present it is the accountId from the transactionId.

§logs: Vec<ContractLogInfo>

Logs that this call and any called functions produced.

§contract_nonces: Vec<ContractNonceInfo>

A list of updated contract account nonces containing the new nonce value for each contract account. This is always empty in a ContractLocalCallQuery response, since no internal creations can happen in a static EVM call.

§signer_nonce: Option<u64>

If not null this field specifies what the value of the signer account nonce is post transaction execution. For transactions that don’t update the signer nonce, this field should be null.

Implementations§

source§

impl ContractFunctionResult

source

pub fn as_bytes(&self) -> &[u8]

Get the whole raw function result.

source

pub fn get_str(&self, index: usize) -> Option<Cow<'_, str>>

Get the value at index as a solidity string.

Theoretically, all strings here should be utf8, but this function does lossy conversion.

source

pub fn get_str_array(&self, index: usize) -> Option<Vec<Cow<'_, str>>>

Get the value at index as a solidity string[].

Theoretically, all strings here should be utf8, but this function does lossy conversion.

source

pub fn get_bytes(&self, index: usize) -> Option<&[u8]>

Get the value at index as solidity bytes.

source

pub fn get_bytes32(&self, index: usize) -> Option<&[u8; 32]>

Get the value at index as solidity bytes32.

This is the native word size for the solidity ABI.

source

pub fn get_address(&self, index: usize) -> Option<String>

Get the value at index as a solidity address and then hex-encode the result.

source

pub fn get_bool(&self, index: usize) -> Option<bool>

Get the value at index as a solidity bool.

source

pub fn get_u8(&self, index: usize) -> Option<u8>

Get the value at index as a solidity u8.

source

pub fn get_i8(&self, index: usize) -> Option<i8>

Get the value at index as a solidity i8.

source

pub fn get_u32(&self, index: usize) -> Option<u32>

Get the value at index as a solidity u32.

source

pub fn get_i32(&self, index: usize) -> Option<i32>

Get the value at index as a solidity i32.

source

pub fn get_u64(&self, index: usize) -> Option<u64>

Get the value at index as a solidity u64.

source

pub fn get_i64(&self, index: usize) -> Option<i64>

Get the value at index as a solidity i64.

source

pub fn get_u256(&self, index: usize) -> Option<BigUint>

Get the value at index as a solidity u256 (uint).

This is the native unsigned integer size for the solidity ABI.

source

pub fn get_i256(&self, index: usize) -> Option<BigInt>

Get the value at index as a solidity i256 (int).

This is the native unsigned integer size for the solidity ABI.

Trait Implementations§

source§

impl Clone for ContractFunctionResult

source§

fn clone(&self) -> ContractFunctionResult

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ContractFunctionResult

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for T
where T: Clone,

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more