Struct Transaction

Source
pub struct Transaction<'a> {
    pub header: &'a TransactionHeader,
    pub read_slots: &'a [TransactionSlot],
    pub write_slots: &'a [TransactionSlot],
    pub payload: &'a [u128],
    pub seal: &'a [u8],
}
Expand description

Similar to Transaction, but doesn’t require allow or data ownership.

Can be created with Transaction::as_ref() call.

Fields§

§header: &'a TransactionHeader§read_slots: &'a [TransactionSlot]

Slots in the form of TransactionSlot that may be read during transaction processing.

These are the only slots that can be used in authorization code.

The code slot of the contract that is being executed and balance of native token are implicitly included and doesn’t need to be specified (see Transaction::read_slots(). Also slots that may also be written to do not need to be repeated in the read slots.

§write_slots: &'a [TransactionSlot]

Slots in the form of TransactionSlot that may be written during transaction processing

§payload: &'a [u128]§seal: &'a [u8]

Implementations§

Source§

impl Transaction<'_>

Source

pub fn hash(&self) -> TransactionHash

Compute transaction hash.

Note: this computes transaction hash on every call, so worth caching if it is expected to be called often.

Source

pub fn read_slots(&self) -> impl Iterator<Item = TransactionSlot>

Read slots touched by the transaction.

In contrast to read_slots property, this includes implicitly used slots.

Source

pub fn slots(&self) -> impl Iterator<Item = TransactionSlot>

All slots touched by the transaction.

In contrast to read_slots and write_slots properties, this includes implicitly used slots.

Trait Implementations§

Source§

impl<'a> Clone for Transaction<'a>

Source§

fn clone(&self) -> Transaction<'a>

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<'a> Debug for Transaction<'a>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'a> Copy for Transaction<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Transaction<'a>

§

impl<'a> RefUnwindSafe for Transaction<'a>

§

impl<'a> Send for Transaction<'a>

§

impl<'a> Sync for Transaction<'a>

§

impl<'a> Unpin for Transaction<'a>

§

impl<'a> UnwindSafe for Transaction<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.