algokit_transact

Struct AppCallTransactionFields

Source
pub struct AppCallTransactionFields {
Show 13 fields pub header: TransactionHeader, pub app_id: u64, pub on_complete: OnApplicationComplete, pub approval_program: Option<Vec<u8>>, pub clear_state_program: Option<Vec<u8>>, pub global_state_schema: Option<StateSchema>, pub local_state_schema: Option<StateSchema>, pub extra_program_pages: Option<u64>, pub args: Option<Vec<Vec<u8>>>, pub account_references: Option<Vec<Address>>, pub app_references: Option<Vec<u64>>, pub asset_references: Option<Vec<u64>>, pub box_references: Option<Vec<BoxReference>>,
}
Expand description

Represents an app call transaction that interacts with Algorand Smart Contracts.

App call transactions are used to create, update, delete, opt-in to, close out of, or clear state from Algorand apps (smart contracts).

Fields§

§header: TransactionHeader

Common transaction header fields.

§app_id: u64

ID of the app being called.

Set this to 0 to indicate an app creation call.

§on_complete: OnApplicationComplete

Defines what additional actions occur with the transaction.

§approval_program: Option<Vec<u8>>

Logic executed for every app call transaction, except when on-completion is set to “clear”.

Approval programs may reject the transaction. Only required for app creation and update transactions.

§clear_state_program: Option<Vec<u8>>

Logic executed for app call transactions with on-completion set to “clear”.

Clear state programs cannot reject the transaction. Only required for app creation and update transactions.

§global_state_schema: Option<StateSchema>

Holds the maximum number of global state values.

Only required for app creation transactions. This cannot be changed after creation.

§local_state_schema: Option<StateSchema>

Holds the maximum number of local state values.

Only required for app creation transactions. This cannot be changed after creation.

§extra_program_pages: Option<u64>

Number of additional pages allocated to the app’s approval and clear state programs.

Each extra program page is 2048 bytes. The sum of approval program and clear state program may not exceed 2048*(1+extra_program_pages) bytes. Currently, the maximum value is 3. This cannot be changed after creation.

§args: Option<Vec<Vec<u8>>>

Transaction specific arguments available in the app’s approval program and clear state program.

§account_references: Option<Vec<Address>>

List of accounts in addition to the sender that may be accessed from the app’s approval program and clear state program.

§app_references: Option<Vec<u64>>

List of apps in addition to the current app that may be called from the app’s approval program and clear state program.

§asset_references: Option<Vec<u64>>

Lists the assets whose parameters may be accessed by this app’s approval program and clear state program.

The access is read-only.

§box_references: Option<Vec<BoxReference>>

The boxes that should be made available for the runtime of the program.

Implementations§

Source§

impl AppCallTransactionFields

Source

pub fn validate_for_create(&self) -> Result<(), Vec<TransactionValidationError>>

Validates fields specific to app creation.

Source

pub fn validate_for_update(&self) -> Result<(), Vec<TransactionValidationError>>

Validates fields specific to app update.

Source

pub fn validate_for_call(&self) -> Result<(), Vec<TransactionValidationError>>

Validates fields for app call (no-op), opt-in, close-out, clear-state operations.

Source

pub fn validate_for_delete(&self) -> Result<(), Vec<TransactionValidationError>>

Validates fields for app deletion.

Trait Implementations§

Source§

impl Clone for AppCallTransactionFields

Source§

fn clone(&self) -> AppCallTransactionFields

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 AppCallTransactionFields

Source§

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

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

impl<'de> Deserialize<'de> for AppCallTransactionFields

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for AppCallTransactionFields

Source§

fn eq(&self, other: &AppCallTransactionFields) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for AppCallTransactionFields

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Validate for AppCallTransactionFields

Source§

impl StructuralPartialEq for AppCallTransactionFields

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,