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
impl AppCallTransactionFields
Sourcepub fn validate_for_create(&self) -> Result<(), Vec<TransactionValidationError>>
pub fn validate_for_create(&self) -> Result<(), Vec<TransactionValidationError>>
Validates fields specific to app creation.
Sourcepub fn validate_for_update(&self) -> Result<(), Vec<TransactionValidationError>>
pub fn validate_for_update(&self) -> Result<(), Vec<TransactionValidationError>>
Validates fields specific to app update.
Sourcepub fn validate_for_call(&self) -> Result<(), Vec<TransactionValidationError>>
pub fn validate_for_call(&self) -> Result<(), Vec<TransactionValidationError>>
Validates fields for app call (no-op), opt-in, close-out, clear-state operations.
Sourcepub fn validate_for_delete(&self) -> Result<(), Vec<TransactionValidationError>>
pub fn validate_for_delete(&self) -> Result<(), Vec<TransactionValidationError>>
Validates fields for app deletion.
Trait Implementations§
Source§impl Clone for AppCallTransactionFields
impl Clone for AppCallTransactionFields
Source§fn clone(&self) -> AppCallTransactionFields
fn clone(&self) -> AppCallTransactionFields
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more