Defines the program’s ID. This should be used at the root of all Anchor
based programs.
Declare an external program based on its IDL.
Logs an event that can be subscribed to by clients.
Uses the
sol_log_data
syscall which results in the following log:
Returns with the given error.
Use this with a custom error type.
Print a message to the log.
Convenience macro to define a static public key.
Ensures a condition is true, otherwise returns with the given error.
Use this with or without a custom error type.
Ensures two NON-PUBKEY values are equal.
Ensures the first NON-PUBKEY value is greater than the second
NON-PUBKEY value.
Ensures the first NON-PUBKEY value is greater than or equal
to the second NON-PUBKEY value.
Ensures two pubkeys values are equal.
Ensures two pubkeys are not equal.
Ensures two NON-PUBKEY values are not equal.
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.
A representation of network time.
Provides non-argument inputs to the program.
Context specifying non-argument inputs for cross-program-invocations.
A directive for a single invocation of a Solana program.
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
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.
8 byte unique identifier for a type.
Defines the id of a program.
Calculates the data for an instruction invocation, where the data is
Sha256(<namespace>:<method_name>)[..8] || BorshSerialize(args)
.
args
is a borsh serialized struct of named fields for each argument given
to an instruction.
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.
An account data structure capable of zero copy deserialization.