pub extern crate bs58;
pub use signer::signers;


useful extras for Account state

The blake3 module provides functions for creating hashes.

Borsh utils

The latest Solana BPF loader.

The original and now deprecated Solana BPF loader.

An Upgradeable Solana BPF loader.

Solana builtin helper macros

Defines traits for blocking (synchronous) and non-blocking (asynchronous) communication with a Solana server as well a a trait that encompasses both.

Provides information about the network’s clock which is made up of ticks, slots, etc…

Solana Rust-based BPF program entry point supported by the latest BPFLoader. For more information see ‘./’

Solana Rust-based BPF program entry point supported by the original and now deprecated BPFLoader. For more information see ‘./’

configuration for epochs, slots

Methods for working with Feature accounts.

Runtime features.

Collection of all runtime features.

The genesis_config module is a library for generating the chain’s genesis config.

The hard_forks module is used to maintain the list of slot boundaries for when a hard fork should occur.

The hash module provides functions for creating SHA-256 hashes.

Lamports credited to this address will be removed from the total supply (burned) at the end of the current block.

configuration for network inflation

Types for directing the execution of Solana programs.

Upgradeable loader instruction definitions

Logging utilities for Rust-based Solana programs.

Sequences of Instructions executed within a single transaction.

Solana precompiled programs

Solana Rust-based BPF memory operations

A C representation of Rust’s std::option::Option used across the FFI boundary for Solana program interfaces

State transition types

Syscall stubs when building for programs for non-BPF targets

configuration for network rent

The signature module provides functionality for public, and private keys.

named accounts for synthesized data accounts for bank state, etc.

slot history

named accounts for synthesized data accounts for bank state, etc.

The system_transaction module provides functionality for creating system transactions.

Access to special accounts with dynamically-updated data.

The timing module provides std::time utility functions.

Atomically-committed sequences of instructions.

Successors of instruction_context_context::StackFrame, KeyedAccount and AccountInfo


Define the default global allocator.

Define the default global panic handler.

Convenience macro to declare a builtin

Same as declare_id except report that this id has been deprecated

Convenience macro to declare a static public key and functions to interact with it

Declare the program entry point and set up global handlers.


Declare the entry point of the program.


Print a message to the log.


Convenience macro to define a static public key

A proc-macro which respans the tokens in its first argument (a Path) to be resolved at the tokens of its second argument. For internal use only.

Convenience macro for AddAssign with saturating arithmetic. Replace by std::num::Saturating once stable

Convenience macro for doing integer division where the opersation’s safety can be checked at compile-time


Attribute Macros