Browse Source

cli: Remove redundant Solidity code (#2778)

acheron 1 year ago
parent
commit
dbb36d211c
1 changed files with 3 additions and 332 deletions
  1. 3 332
      cli/src/solidity_template.rs

+ 3 - 332
cli/src/solidity_template.rs

@@ -1,9 +1,6 @@
-use crate::VERSION;
-use crate::{config::ProgramWorkspace, create_files};
-use anchor_syn::idl::types::Idl;
+use crate::create_files;
 use anyhow::Result;
-use heck::{ToLowerCamelCase, ToSnakeCase, ToUpperCamelCase};
-use std::fmt::Write;
+use heck::{ToSnakeCase, ToUpperCamelCase};
 use std::path::Path;
 
 /// Create a solidity program.
@@ -15,110 +12,7 @@ pub fn create_program(name: &str) -> Result<()> {
     create_files(&files)
 }
 
-pub fn idl_ts(idl: &Idl) -> Result<String> {
-    let mut idl = idl.clone();
-    for acc in idl.accounts.iter_mut() {
-        acc.name = acc.name.to_lower_camel_case();
-    }
-    let idl_json = serde_json::to_string_pretty(&idl)?;
-    Ok(format!(
-        r#"export type {} = {};
-
-export const IDL: {} = {};
-"#,
-        idl.name.to_upper_camel_case(),
-        idl_json,
-        idl.name.to_upper_camel_case(),
-        idl_json
-    ))
-}
-
-pub fn deploy_js_script_host(cluster_url: &str, script_path: &str) -> String {
-    format!(
-        r#"
-const anchor = require('@coral-xyz/anchor');
-
-// Deploy script defined by the user.
-const userScript = require("{script_path}");
-
-async function main() {{
-    const url = "{cluster_url}";
-    const preflightCommitment = 'recent';
-    const connection = new anchor.web3.Connection(url, preflightCommitment);
-    const wallet = anchor.Wallet.local();
-
-    const provider = new anchor.AnchorProvider(connection, wallet, {{
-        preflightCommitment,
-        commitment: 'recent',
-    }});
-
-    // Run the user's deploy script.
-    userScript(provider);
-}}
-main();
-"#
-    )
-}
-
-pub fn deploy_ts_script_host(cluster_url: &str, script_path: &str) -> String {
-    format!(
-        r#"import * as anchor from '@coral-xyz/anchor';
-
-// Deploy script defined by the user.
-const userScript = require("{script_path}");
-
-async function main() {{
-    const url = "{cluster_url}";
-    const preflightCommitment = 'recent';
-    const connection = new anchor.web3.Connection(url, preflightCommitment);
-    const wallet = anchor.Wallet.local();
-
-    const provider = new anchor.AnchorProvider(connection, wallet, {{
-        preflightCommitment,
-        commitment: 'recent',
-    }});
-
-    // Run the user's deploy script.
-    userScript(provider);
-}}
-main();
-"#
-    )
-}
-
-pub fn deploy_script() -> &'static str {
-    r#"// Migrations are an early feature. Currently, they're nothing more than this
-// single deploy script that's invoked from the CLI, injecting a provider
-// configured from the workspace's Anchor.toml.
-
-const anchor = require("@coral-xyz/anchor");
-
-module.exports = async function (provider) {
-  // Configure client to use the provider.
-  anchor.setProvider(provider);
-
-  // Add your deploy script here.
-};
-"#
-}
-
-pub fn ts_deploy_script() -> &'static str {
-    r#"// Migrations are an early feature. Currently, they're nothing more than this
-// single deploy script that's invoked from the CLI, injecting a provider
-// configured from the workspace's Anchor.toml.
-
-const anchor = require("@coral-xyz/anchor");
-
-module.exports = async function (provider) {
-  // Configure client to use the provider.
-  anchor.setProvider(provider);
-
-  // Add your deploy script here.
-};
-"#
-}
-
-pub fn solidity(name: &str) -> String {
+fn solidity(name: &str) -> String {
     format!(
         r#"
 contract {} {{
@@ -214,93 +108,6 @@ describe("{}", () => {{
     )
 }
 
-pub fn package_json(jest: bool) -> String {
-    if jest {
-        format!(
-            r#"{{
-        "scripts": {{
-            "lint:fix": "prettier */*.js \"*/**/*{{.js,.ts}}\" -w",
-            "lint": "prettier */*.js \"*/**/*{{.js,.ts}}\" --check"
-        }},
-        "dependencies": {{
-            "@coral-xyz/anchor": "^{VERSION}"
-        }},
-        "devDependencies": {{
-            "jest": "^29.0.3",
-            "prettier": "^2.6.2"
-        }}
-    }}
-    "#
-        )
-    } else {
-        format!(
-            r#"{{
-    "scripts": {{
-        "lint:fix": "prettier */*.js \"*/**/*{{.js,.ts}}\" -w",
-        "lint": "prettier */*.js \"*/**/*{{.js,.ts}}\" --check"
-    }},
-    "dependencies": {{
-        "@coral-xyz/anchor": "^{VERSION}"
-    }},
-    "devDependencies": {{
-        "chai": "^4.3.4",
-        "mocha": "^9.0.3",
-        "prettier": "^2.6.2"
-    }}
-}}
-"#
-        )
-    }
-}
-
-pub fn ts_package_json(jest: bool) -> String {
-    if jest {
-        format!(
-            r#"{{
-        "scripts": {{
-            "lint:fix": "prettier */*.js \"*/**/*{{.js,.ts}}\" -w",
-            "lint": "prettier */*.js \"*/**/*{{.js,.ts}}\" --check"
-        }},
-        "dependencies": {{
-            "@coral-xyz/anchor": "^{VERSION}"
-        }},
-        "devDependencies": {{
-            "@types/bn.js": "^5.1.0",
-            "@types/jest": "^29.0.3",
-            "jest": "^29.0.3",
-            "prettier": "^2.6.2",
-            "ts-jest": "^29.0.2",
-            "typescript": "^4.3.5"
-        }}
-    }}
-    "#
-        )
-    } else {
-        format!(
-            r#"{{
-    "scripts": {{
-        "lint:fix": "prettier */*.js \"*/**/*{{.js,.ts}}\" -w",
-        "lint": "prettier */*.js \"*/**/*{{.js,.ts}}\" --check"
-    }},
-    "dependencies": {{
-        "@coral-xyz/anchor": "^{VERSION}"
-    }},
-    "devDependencies": {{
-        "chai": "^4.3.4",
-        "mocha": "^9.0.3",
-        "ts-mocha": "^10.0.0",
-        "@types/bn.js": "^5.1.0",
-        "@types/chai": "^4.3.0",
-        "@types/mocha": "^9.0.0",
-        "typescript": "^4.3.5",
-        "prettier": "^2.6.2"
-    }}
-}}
-"#
-        )
-    }
-}
-
 pub fn ts_mocha(name: &str) -> String {
     format!(
         r#"import * as anchor from "@coral-xyz/anchor";
@@ -352,139 +159,3 @@ describe("{}", () => {{
         name.to_upper_camel_case(),
     )
 }
-
-pub fn ts_jest(name: &str) -> String {
-    format!(
-        r#"import * as anchor from "@coral-xyz/anchor";
-import {{ Program }} from "@coral-xyz/anchor";
-import {{ {} }} from "../target/types/{}";
-
-describe("{}", () => {{
-  // Configure the client to use the local cluster.
-  const provider = anchor.AnchorProvider.env();
-  anchor.setProvider(provider);
-
-  const dataAccount = anchor.web3.Keypair.generate();
-  const wallet = provider.wallet;
-
-  const program = anchor.workspace.{} as Program<{}>;
-
-  it("Is initialized!", async () => {{
-    // Add your test here.
-    const tx = await program.methods
-      .new()
-      .accounts({{ dataAccount: dataAccount.publicKey }})
-      .signers([dataAccount])
-      .rpc();
-    console.log("Your transaction signature", tx);
-  }});
-}});
-"#,
-        name.to_upper_camel_case(),
-        name.to_snake_case(),
-        name,
-        name.to_upper_camel_case(),
-        name.to_upper_camel_case(),
-    )
-}
-
-pub fn ts_config(jest: bool) -> &'static str {
-    if jest {
-        r#"{
-            "compilerOptions": {
-              "types": ["jest"],
-              "typeRoots": ["./node_modules/@types"],
-              "lib": ["es2015"],
-              "module": "commonjs",
-              "target": "es6",
-              "esModuleInterop": true
-            }
-          }
-          "#
-    } else {
-        r#"{
-            "compilerOptions": {
-              "types": ["mocha", "chai"],
-              "typeRoots": ["./node_modules/@types"],
-              "lib": ["es2015"],
-              "module": "commonjs",
-              "target": "es6",
-              "esModuleInterop": true
-            }
-          }
-          "#
-    }
-}
-
-pub fn git_ignore() -> &'static str {
-    r#"
-.anchor
-.DS_Store
-target
-**/*.rs.bk
-node_modules
-test-ledger
-"#
-}
-
-pub fn prettier_ignore() -> &'static str {
-    r#"
-.anchor
-.DS_Store
-target
-node_modules
-dist
-build
-test-ledger
-"#
-}
-
-pub fn node_shell(
-    cluster_url: &str,
-    wallet_path: &str,
-    programs: Vec<ProgramWorkspace>,
-) -> Result<String> {
-    let mut eval_string = format!(
-        r#"
-const anchor = require('@coral-xyz/anchor');
-const web3 = anchor.web3;
-const PublicKey = anchor.web3.PublicKey;
-const Keypair = anchor.web3.Keypair;
-
-const __wallet = new anchor.Wallet(
-  Keypair.fromSecretKey(
-    Buffer.from(
-      JSON.parse(
-        require('fs').readFileSync(
-          "{wallet_path}",
-          {{
-            encoding: "utf-8",
-          }},
-        ),
-      ),
-    ),
-  ),
-);
-const __connection = new web3.Connection("{cluster_url}", "processed");
-const provider = new anchor.AnchorProvider(__connection, __wallet, {{
-  commitment: "processed",
-  preflightcommitment: "processed",
-}});
-anchor.setProvider(provider);
-"#
-    );
-
-    for program in programs {
-        write!(
-            &mut eval_string,
-            r#"
-anchor.workspace.{} = new anchor.Program({}, new PublicKey("{}"), provider);
-"#,
-            program.name.to_upper_camel_case(),
-            serde_json::to_string(&program.idl)?,
-            program.program_id
-        )?;
-    }
-
-    Ok(eval_string)
-}