pinoc 0.3.6

A CLI tool for setting up pinocchio program project
pub fn cargo_toml(name: &str, include_cpi_deps: bool) -> String {
    let cpi_deps = if include_cpi_deps {
        "solana-account-info = \"3\"\nsolana-cpi = \"3\"\nsolana-program-error = \"3\"\n"
    } else {
        ""
    };
    format!(
        r#"[package]
name = "{name}-client"
version = "0.1.0"
edition = "2021"

[features]
fetch = ["dep:solana-rpc-client", "dep:solana-account"]

[dependencies]
borsh = {{ version = "1", features = ["derive"] }}
solana-pubkey = "4.2"
solana-instruction = "3.4"
solana-address = {{ version = "2.6", features = ["decode", "borsh"] }}
{cpi_deps}solana-rpc-client = {{ version = "3.0", optional = true }}
solana-account = {{ version = "3.0", optional = true }}
"#
    )
}

pub fn lib_rs(program_address: &str) -> String {
    format!(
        r#"#![allow(clippy::all, unused_imports)]
//! This code was autogenerated by `pinoc client generate` from the program's
//! shank IDL. Do not edit by hand; rerun `pinoc client generate` instead.

pub mod generated;
pub use generated::*;

solana_pubkey::declare_id!("{program_address}");
"#
    )
}