Wrapper around
AccountInfo
that verifies program ownership and deserializes underlying data into a Rust type.
Account information
Type facilitating on demand zero copy deserialization.
Describes a single account read or written by a program during instruction
execution.
Metadata for the component.
A representation of network time.
Provides non-argument inputs to the program.
Context specifying non-argument inputs for cross-program-invocations.
Instructions sysvar, dummy type.
Type validating that the account is one of a set of given Programs
Wrapper around
AccountInfo
that verifies program ownership and deserializes underlying data into a Rust type.
Type validating that the account is the given Program
Configuration of network rent.
Type validating that the account signed the transaction. No other ownership
or type checks are done. If this is used, one should not try to access the
underlying account data.
A bitvector indicating which slots are present in the past epoch.
Type validating that the account is owned by the system program
Type validating that the account is a sysvar and deserializing it.
Explicit wrapper for AccountInfo types to emphasize
that no checks are performed
Type representing the program.
A data structure that can be deserialized and stored into account storage,
i.e. an
AccountInfo’s
mutable data slice.
A data structure that can be serialized and stored into account storage,
i.e. an
AccountInfo’s
mutable data slice.
A data structure of validated accounts that can be deserialized from the
input to a Solana program. Implementations of this trait should perform any
and all requisite constraint checks on accounts to ensure the accounts
maintain any invariants required for the program to run securely. In most
cases, it’s recommended to use the
Accounts
derive macro to implement this trait.
The close procedure to initiate garabage collection of an account, allowing
one to retrieve the rent exemption.
The exit procedure for an account. Any cleanup or persistence to storage
should be done here.
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.
Associated bump seeds for Accounts.
Allows to deserialize a component AccountInfo into a struct.
Trait used to add the seed and size functions to the component.
Defines the id of a program.
Defines the Pubkey of an account.
Lamports related utility methods for accounts.
Defines an address expected to own an account.
A type that holds sysvar data.
Defines the space of an account for initialization.
Transformation to an AccountInfo struct.
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.
This macro attribute is used to define a BOLT component.
This Component attribute is used to automatically generate the seed and size functions
This macro is used to defined a struct as a BOLT component and automatically implements the
ComponentDeserialize and AccountDeserialize traits for the struct.
Macro to specify the on-chain ID of a component.
A marker attribute used to mark const values that should be included in the
generated IDL but functionally does nothing.
This macro attribute is used to inject instructions and struct needed to delegate BOLT component.
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.
This macro attribute is used to define a BOLT system extra accounts.
The #[program] attribute defines the module containing all instruction
handlers defining all entries into a Solana program.
This macro attribute is used to define a BOLT system.
This macro attribute is used to define a BOLT system input.
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)].