Module anchor_lang::prelude
source · [−]Expand description
The prelude contains all commonly used components of the crate.
All programs should include it via anchor_lang::prelude::*;
.
Re-exports
pub use super::accounts::account::Account;
pub use super::accounts::account_loader::AccountLoader;
pub use super::accounts::program::Program;
pub use super::accounts::signer::Signer;
pub use super::accounts::system_account::SystemAccount;
pub use super::accounts::sysvar::Sysvar;
pub use super::accounts::unchecked_account::UncheckedAccount;
pub use super::context::Context;
pub use super::context::CpiContext;
pub use super::err;
pub use super::error;
pub use super::require;
pub use super::require_eq;
pub use super::require_gt;
pub use super::require_gte;
pub use super::require_keys_eq;
pub use super::require_keys_neq;
pub use super::require_neq;
pub use super::source;
pub use super::system_program::System;
pub use super::AccountDeserialize;
pub use super::AccountSerialize;
pub use super::Accounts;
pub use super::AccountsExit;
pub use super::Id;
pub use super::Key;
pub use super::Owner;
pub use super::Result;
pub use super::ToAccountInfo;
pub use super::ToAccountInfos;
pub use super::ToAccountMetas;
pub use borsh;
pub use error::*;
pub use thiserror;
Macros
Defines the program’s ID. This should be used at the root of all Anchor based programs.
Logs an event that can be subscribed to by clients.
Uses the sol_log_data
syscall which results in the following log:
Generates an Error::AnchorError
that includes file and line information.
Print a message to the log
Structs
Account information
Describes a single account read or written by a program during instruction execution.
Clock represents network time. Members of Clock start from 0 upon network boot. The best way to map Clock to wallclock time is to use current Slot, as Epochs vary in duration (they start short and grow as the network progresses).
Enums
Reasons the program may fail
Upgradeable loader account states
Traits
A data-structure that can be de-serialized from binary format by NBOR.
A data-structure that can be serialized into binary format by NBOR.
Functions
Convenience function for accessing the next item in an AccountInfo
iterator.
Attribute Macros
Executes the given access control method before running the decorated instruction handler. Any method in scope of the attribute can be invoked with any arguments from the associated instruction handler.
An attribute for a data structure representing a Solana account.
A marker attribute used to mark const values that should be included in the generated IDL but functionally does nothing.
Generates Error
and type Result<T> = Result<T, Error>
types to be
used as return types from Anchor instruction handlers. Importantly, the
attribute implements
From
on the
ErrorCode
to support converting from the user defined error enum into
the generated Error
.
The event attribute allows a struct to be used with emit! so that programs can log significant events in their programs that clients can subscribe to. Currently, this macro is for structs only.
The #[interface]
attribute allows one to define an external program
dependency, without having any knowledge about the program, other than
the fact that it implements the given trait.
The #[program]
attribute defines the module containing all instruction
handlers defining all entries into a Solana program.
The #[state]
attribute defines the program’s state struct, i.e., the
program’s global account singleton giving the program the illusion of state.
A data structure that can be used as an internal field for a zero copy
deserialized account, i.e., a struct marked with #[account(zero_copy)]
.
Derive Macros
Implements an Accounts
deserializer on the given
struct. Can provide further functionality through the use of attributes.