Enum Command

Source
pub enum Command {
Show 20 variants Init { name: String, javascript: bool, solidity: bool, no_install: bool, package_manager: PackageManager, no_git: bool, template: ProgramTemplate, test_template: TestTemplate, force: bool, }, Build {
Show 13 fields skip_lint: bool, no_idl: bool, idl: Option<String>, idl_ts: Option<String>, verifiable: bool, program_name: Option<String>, solana_version: Option<String>, docker_image: Option<String>, bootstrap: BootstrapMode, env: Vec<String>, cargo_args: Vec<String>, no_docs: bool, arch: ProgramArch,
}, Expand { program_name: Option<String>, cargo_args: Vec<String>, }, Verify { program_id: Pubkey, program_name: Option<String>, solana_version: Option<String>, docker_image: Option<String>, bootstrap: BootstrapMode, arch: ProgramArch, env: Vec<String>, cargo_args: Vec<String>, skip_build: bool, }, Test { program_name: Option<String>, skip_deploy: bool, skip_lint: bool, skip_local_validator: bool, skip_build: bool, no_idl: bool, arch: ProgramArch, detach: bool, run: Vec<String>, args: Vec<String>, env: Vec<String>, cargo_args: Vec<String>, }, New { name: String, solidity: bool, template: ProgramTemplate, force: bool, }, Idl { subcmd: IdlCommand, }, Clean, Deploy { program_name: Option<String>, program_keypair: Option<String>, verifiable: bool, solana_args: Vec<String>, }, Migrate, Upgrade { program_id: Pubkey, program_filepath: String, max_retries: u32, solana_args: Vec<String>, }, Cluster { subcmd: ClusterCommand, }, Shell, Run { script: String, script_args: Vec<String>, }, Login { token: String, }, Publish { program: String, env: Vec<String>, cargo_args: Vec<String>, skip_build: bool, arch: ProgramArch, }, Keys { subcmd: KeysCommand, }, Localnet { skip_build: bool, skip_deploy: bool, skip_lint: bool, arch: ProgramArch, env: Vec<String>, cargo_args: Vec<String>, }, Account { account_type: String, address: Pubkey, idl: Option<String>, }, Completions { shell: Shell, },
}

Variants§

§

Init

Initializes a workspace.

Fields

§name: String

Workspace name

§javascript: bool

Use JavaScript instead of TypeScript

§solidity: bool

Use Solidity instead of Rust

§no_install: bool

Don’t install JavaScript dependencies

§package_manager: PackageManager

Package Manager to use

§no_git: bool

Don’t initialize git

§template: ProgramTemplate

Rust program template to use

§test_template: TestTemplate

Test template to use

§force: bool

Initialize even if there are files

§

Build

Builds the workspace.

Fields

§skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments

§no_idl: bool

Do not build the IDL

§idl: Option<String>

Output directory for the IDL.

§idl_ts: Option<String>

Output directory for the TypeScript IDL.

§verifiable: bool

True if the build artifact needs to be deterministic and verifiable.

§program_name: Option<String>

Name of the program to build

§solana_version: Option<String>

Version of the Solana toolchain to use. For –verifiable builds only.

§docker_image: Option<String>

Docker image to use. For –verifiable builds only.

§bootstrap: BootstrapMode

Bootstrap docker image from scratch, installing all requirements for verifiable builds. Only works for debian-based images.

§env: Vec<String>

Environment variables to pass into the docker container

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-sbf command

§no_docs: bool

Suppress doc strings in IDL output

§arch: ProgramArch

Architecture to use when building the program

§

Expand

Expands macros (wrapper around cargo expand)

Use it in a program folder to expand program

Use it in a workspace but outside a program folder to expand the entire workspace

Fields

§program_name: Option<String>

Expand only this program

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo expand command

§

Verify

Verifies the on-chain bytecode matches the locally compiled artifact. Run this command inside a program subdirectory, i.e., in the dir containing the program’s Cargo.toml.

Fields

§program_id: Pubkey

The deployed program to compare against.

§program_name: Option<String>
§solana_version: Option<String>

Version of the Solana toolchain to use. For –verifiable builds only.

§docker_image: Option<String>

Docker image to use. For –verifiable builds only.

§bootstrap: BootstrapMode

Bootstrap docker image from scratch, installing all requirements for verifiable builds. Only works for debian-based images.

§arch: ProgramArch

Architecture to use when building the program

§env: Vec<String>

Environment variables to pass into the docker container

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-sbf command.

§skip_build: bool

Flag to skip building the program in the workspace, use this to save time when running verify and the program code is already built.

§

Test

Runs integration tests.

Fields

§program_name: Option<String>

Build and test only this program

§skip_deploy: bool

Use this flag if you want to run tests against previously deployed programs.

§skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments where normally required

§skip_local_validator: bool

Flag to skip starting a local validator, if the configured cluster url is a localnet.

§skip_build: bool

Flag to skip building the program in the workspace, use this to save time when running test and the program code is not altered.

§no_idl: bool

Do not build the IDL

§arch: ProgramArch

Architecture to use when building the program

§detach: bool

Flag to keep the local validator running after tests to be able to check the transactions.

§run: Vec<String>

Run the test suites under the specified path

§args: Vec<String>
§env: Vec<String>

Environment variables to pass into the docker container

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-sbf command.

§

New

Creates a new program.

Fields

§name: String

Program name

§solidity: bool

Use Solidity instead of Rust

§template: ProgramTemplate

Rust program template to use

§force: bool

Create new program even if there is already one

§

Idl

Commands for interacting with interface definitions.

Fields

§subcmd: IdlCommand
§

Clean

Remove all artifacts from the generated directories except program keypairs.

§

Deploy

Deploys each program in the workspace.

Fields

§program_name: Option<String>

Only deploy this program

§program_keypair: Option<String>

Keypair of the program (filepath) (requires program-name)

§verifiable: bool

If true, deploy from path target/verifiable

§solana_args: Vec<String>

Arguments to pass to the underlying solana program deploy command.

§

Migrate

Runs the deploy migration script.

§

Upgrade

Deploys, initializes an IDL, and migrates all in one command. Upgrades a single program. The configured wallet must be the upgrade authority.

Fields

§program_id: Pubkey

The program to upgrade.

§program_filepath: String

Filepath to the new program binary.

§max_retries: u32

Max times to retry on failure.

§solana_args: Vec<String>

Arguments to pass to the underlying solana program deploy command.

§

Cluster

Cluster commands.

Fields

§

Shell

Starts a node shell with an Anchor client setup according to the local config.

§

Run

Runs the script defined by the current workspace’s Anchor.toml.

Fields

§script: String

The name of the script to run.

§script_args: Vec<String>

Argument to pass to the underlying script.

§

Login

Saves an api token from the registry locally.

Fields

§token: String

API access token.

§

Publish

Publishes a verified build to the Anchor registry.

Fields

§program: String

The name of the program to publish.

§env: Vec<String>

Environment variables to pass into the docker container

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-sbf command.

§skip_build: bool

Flag to skip building the program in the workspace, use this to save time when publishing the program

§arch: ProgramArch

Architecture to use when building the program

§

Keys

Program keypair commands.

Fields

§

Localnet

Localnet commands.

Fields

§skip_build: bool

Flag to skip building the program in the workspace, use this to save time when running test and the program code is not altered.

§skip_deploy: bool

Use this flag if you want to run tests against previously deployed programs.

§skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments where normally required

§arch: ProgramArch

Architecture to use when building the program

§env: Vec<String>

Environment variables to pass into the docker container

§cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-sbf command.

§

Account

Fetch and deserialize an account using the IDL provided.

Fields

§account_type: String

Account struct to deserialize

§address: Pubkey

Address of the account to deserialize

§idl: Option<String>

IDL to use (defaults to workspace IDL)

§

Completions

Generates shell completions.

Fields

§shell: Shell

Trait Implementations§

Source§

impl CommandFactory for Command

Source§

fn command<'b>() -> Command

Build a Command that can instantiate Self. Read more
Source§

fn command_for_update<'b>() -> Command

Build a Command that can update self. Read more
Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Command

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Parser for Command

Source§

fn parse() -> Self

Parse from std::env::args_os(), exit on error.
Source§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
Source§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, exit on error.
Source§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
Source§

fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, exit on error. Read more
Source§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, return Err on error.
Source§

impl Subcommand for Command

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more